从 SQL 进行操作系统调用
2009-11-20 00:00:00 来源:WEB开发网核心提示:简介有时,您需要从 SQL 语句中访问操作系统功能,从 SQL 进行操作系统调用,例如,您可能希望将一些信息写到文件、与特定的进程建立通信链路或执行驻留在数据库服务器上的另一个程序,表中的行太多您可能想开始进行备份,或者您可能想使用另一个程序来执行某一任务(譬如向管理员发送电子邮件),IBM® DB2®
简介
有时,您需要从 SQL 语句中访问操作系统功能。例如,您可能希望将一些信息写到文件、与特定的进程建立通信链路或执行驻留在数据库服务器上的另一个程序。IBM® DB2® Universal Database™(UDB)的用户自定义函数(UDF)可以使您方便地完成这些任务。您可以使用各种不同的编程语言(包括 SQL、Java™ 或 C)实现 UDF。在本文中,我将用一些示例向您展示,用 C 编写的 UDF 如何在数据库服务器上被用来直接执行“外部”任务。特别地,我将向您展示如何:
访问驻留在数据库服务器上的文件
调用另一个可执行文件。
处理文件系统中文件的方法基本上有两种:从文件中读取或写入文件。在 SQL 中使用 UDF,可以轻松地完成这些任务。例如,要读取文件,您可以将该文件的名称指定为 SQL 语句中的表达式,而 UDF 可以将该文件名作为输入,并将文件的内容作为其结果返回。可以象对待 SQL 语句中的任何其它值那样对待这个结果:可以将它插入表、以结果集的形式返回给客户机或由其它函数进一步处理它。同样,通过指定文件名和字符串本身,可以从 SQL 启动将字符串写入到文件的操作。函数打开文件,写入字符串,然后返回成功或错误状态。
从 SQL 调用数据库服务器上的可执行文件或脚本可能会派上用场。例如,您可能希望根据数据库中的事件或条件启动一些任务。譬如,表中的行太多您可能想开始进行备份,或者您可能想使用另一个程序来执行某一任务(譬如向管理员发送电子邮件)。另一种可能的选择是在独立的事务中执行 SQL 脚本。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››操作系统下创建虚拟磁盘的实用技巧
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
更多精彩
赞助商链接