如何使用Sybase ASE数据库的扩展存储过程

使用ASE已经有很长时间了,在使用过程中,不断深入的了解了它的各种功能,但是对于扩展存储过程基本上没有书籍中有讲到过,论坛上似乎也没有出现过此类问题,但是它确实能够解决部分特殊问题,而且功能是十分强大的,我专门对此进行了研究,现将结果与大家共享.

有时候大家可能会有这种需求,就是需要对服务器进行某些操作,比如拷贝文件,启动或者停止某些服务和程序等.一般这种情况下,PB就无能为力了,只有辅助于众多的API函数,并且往往要通过服务器操作系统复杂的权限控制,然后还要执行某些操作,这不是一般PB开发者能够从容做到的.扩展存储过程为我们提供了一个便利的方法.

1.常见的扩展存储过程:
xp_cmdshell:以命令行的方式在服务器端执行某些操作.命令行的功能是非常强大的,几乎上可以做任何事情.

2.mail系列的扩展存储过程.

3.自定义的存储过程,为了实现某些特殊的功能.

下面我们主要以xp_cmdshell来说明如何使用扩展存储过程:

首先扩展存储过程其调用方式和普通过程的调用方式是一样的;

同样,必须有权限才能调用扩展过程;

对于xp_cmdshell还有个特殊的地方:它执行了更加严格的权限控制,即使有sa权限,缺省情况下也不能被执行,必须使用sp_configure 修改服务器配置"xp_cmdshell context" 为0,重新启动服务器,才有了自个权限.

下面我们开始通过xp_cmdshell,获取服务器的时间,很简单:

打开pb的数据库画板,用sa用户连接上数据库,输入:

exec xp_cmdshell 'date';

系统将返回服务器时间.

然后我们执行一个拷贝,将c:盘的文件test.txt拷贝到d:盘:

exec xp_cmdshell "copy c:\test.txt d:\test.txt";

时间: 2024-07-28 17:49:22

如何使用Sybase ASE数据库的扩展存储过程的相关文章

SQL Server中通过扩展存储过程实现数据库的远程备份与恢复_MsSql

本文通过实例解析了 SQL Server 数据库扩展存储过程,实现远程备份与恢复的方法和步骤实例说明: 环境:win2k+sqlserver 2K+查询分析器 SQL SERVER服务实例名称:mainserver 需要备份的数据库名称: msdb 本地机器名称(Client端):david 本地用户:zf 密码:123 本地域名:domain 本地提供备份需求的文件夹:e: est 第一步: 建立共享文件夹 在程序代码中调用(或者CMD窗口) net share test=e: est 或者用

sybase跨数据库调用sql server存储过程

问题描述 sybase跨数据库调用sql server存储过程 sql server能调用sybase存储过程,sybase如何调用sql server的存储过程呢? 解决方案 Sql Server数据库的存储过程sql server 数据库存储过程SQL Server 2000数据库存储过程的调用(VB) 解决方案二: http://blog.sina.com.cn/s/blog_b5b346bb0102vbg8.html

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介_数据库其它

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介 SQL SERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下. 一.启动SQL Mail xp_startmail @user,@password @user和@password都是可选的 也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动 二.停止SQL Mail xp_stopmai

如何限制sa登录Sybase ASE

解决思路如下: 利用sybase ASE的特性提供的存储过程 sp_modifylogin,对登录的合法性进行验证. 先新创建一个权限足够高的用户,将来当服务器有问题时,好用来恢复sa 接下来将sa的login script绑定 use master go drop procedure sp_bindlogin go 存储过程名字弄个像系统的一样 create procedure sp_bindlogin as begin declare @hostname varchar(100) decla

使用SQLSERVER的扩展存储过程实现远程备份与恢复

server|sqlserver|备份|存储过程|恢复  最近我在为公司的框架程序(以数据应用为导向的应用体系)做数据管理模块,这个模块的需求比较简单:备份.恢复和清理日志.我公司的软件基本上以C/S为基本架构,所以数据管理模块中两个主要的功能'备份与恢复'都可能会在Client端操作,备份与恢复'的文件也都有可能存储在client端,因而这个数据管理模块就必须能够实现在远程备份与恢复数据库.  文章的前提阐述完了,就该说说如何具体实现吧.其实都很简单,我想写个远程备份的测试实例给大家看,就能够

使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

存储过程 使用SQL Mail收发和自动处理邮件中的扩展存储过程简介 SQL SERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下. 一.启动SQL Mail xp_startmail @user,@password @user和@password都是可选的 也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动 二.停止SQL Mail xp_st

在window下安装使用Sybase ASE 12.5

首先下载Sybase ASE 12.5的安装文件,下载地址为http://download.sybase.com/eval/ASE_1252_DE/ase1252_de_win.zip 另外还有Sybase ASE 12.5的客户端(http://download.sybase.com/eval/ASE_1252_DE/pcclient_1252.zip) ,当然在第一个下载地址中也包含了Sybase客户端,用户可以不用再专门下载客户端的.这次我们使用了2个VPC(Win2003的操作系统)来做

用BCB编SQL Server2000的扩展存储过程

这个存储过程是计算 MD5 值的,可以用来进行密码认证加密等. SQL Server 的扩展存储过程 (Extended Stored Procedure, 简称 XP) 是通过在 MSSQL 数据库注册封装在 .dll 里面的函数实现的, 而这个 .dll 应该按照 M$ 提供的规则, 并且要连接 MSSQL 的库文件.由于 C++ Builder 自带的 MSSQL 库文件 OPENDS60.LIB 比较旧, 本文提供新版本的 OPENDS60.LIB 库文件, 支持 MSSQL 2000

SQL Server数据库中的存储过程介绍

 什么是存储过程 如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样. 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值. 存储过程的优点:    存储过程的能力大大增强了SQL语言的功能和灵活性. 1.可保证数据的安全性和完整性. 2.通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全. 3.通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性. 4.在运行存储过程前,数据