从 SQL 进行操作系统调用
2009-11-20 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

核心提示:简介有时,您需要从 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安装和简单的使用
更多精彩
赞助商链接