频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用COM自动服务扩展SQL Server功能

来源:yesky 作者:刘彦清编译 出处:巧巧读书 2005-11-28 进入讨论组

  下面是二个调用sp_OAMethod的例子。第一个例子调用一个名字为CentimetersToPoints的方法,它只接受在@CMVal变量中提供的一个参数,返回的值存储在变量@RetVal中。
第二个例子调用一个名字为MailLogon的方法,它接受三个可选的变量,这个例子中根据名字接受二个变量,把Name设置为字符串"MyUserName",把 Password设置为字符串"pwd"。

  Exec sp_OAMethod @Object, 'CentimetersToPoints',@RetVal OUTPUT, @CMVal

  Exec sp_OAMethod @Object, 'MailLogon', NULL,@Name='MyUserName', @Password='pwd'

不再使用一个对象后,需要通过下面的语法调用存储过程sp_OADestroy释放对该对象的引用:

  sp_OADestroy objecttoken

  调用sp_OADestroy存储过程可以释放由参数objecttoken指定的对象,同时还释放这个对象所使用的内存和其他资源。下面是一个调用sp_OADestroy的命令:

  Exec sp_OADestroy @Object

  需要注意的是,T-SQL中的数据类型与其他的编程语言并非是一一对应的,在调用一个需要特定的数据类型的方法时就可能出错。"数据类型转换"工具条可以将SQL Server的数据类型转换为Visual Basic的数据类型。

  错误处理

  象在前面提到的那样,如果对存储过程的调用成功了,则会返回一个为0的HRESULT值,其他的HRESULT值则意味着发生了错误。要判断一个非零的HRESULT值,可以把HRESULT值传递给sp_OAGetErrorInfo存储过程,其语法如下:

  sp_OAGetErrorInfo [objecttoken] [, source OUTPUT] [, description OUTPUT] [, helpfile OUTPUT] [, helpid OUTPUT]

  第一个参数objecttoken是由sp_OACreate返回的对象标记。下面的四个参数返回错误信息。Source是产生这一错误信息的应用程序或库,Description是该错误的描述,如果有帮助文件的话,则该Helpfile是帮助文件的路径。这三个参数都是有符号或无符号字符型数据,sp_OAGetErrorInfo会根据定义的变量的大小截取返回的值。最后一个参数helpid是特定错误在帮助文件中的索引号。下面的命令调用sp_OAGetErrorInfo以获得某一个错误的更详细的信息:

  Declare @Source varchar(100), @Description varchar(255), @HelpFile varchar(260),@HelpID int


  Exec sp_OAGetErrorInfo @Object, @Source OUTPUT, @Description OUTPUT, @HelpFile OUTPUT, @HelpID OUTPUT

  SQL Server在线手册还提供了一个有关sp_DisplayOAErrorInfo存储过程的例子,该存储过程可以调用sp_OAGetErrorInfo把返回的值组织成格式化的字符串,以便把该信息写入日志文件中。关于sp_DisplayOAErrorInfo的更详细的信息,请参阅工具条, 另外,调用sp_OAStop储存过程可以关闭SQL Server的COM自动操作环境,它无需任何参数。关闭自动操作环境在大多数情况下并非是必需的,第一次调用sp_OACreate时自动操作环境会自动开启,SQL Server关闭时自动操作环境也会自动关闭。如果一个存储过程正在对一个对象进行自动操作,而另一个过程调用sp_OAStop时就会出现错误,因此我们不建议在程序中调用sp_OAStop,只有在调试一个没有运行的过程时,才可以通过一个查询窗口调用它。
浏览地址: http://www.qqread.com/sqlserver/d032102005.html 更多文章 更多内容请看SQL Server 数据处理专题SQL Server 索引和查询专题SQL Server专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章