WEB开发网
开发学院数据库MSSQL Server 用COM自动服务扩展SQL Server功能 阅读

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

 2007-05-15 09:32:50 来源:WEB开发网   
核心提示: 下面是二个调用sp_OAMethod的例子,第一个例子调用一个名字为CentimetersToPoints的方法,用COM自动服务扩展SQL Server功能(5),它只接受在@CMVal变量中提供的一个参数,返回的值存储在变量@RetVal中,这三个参数都是有符号或无符号字符型数据,sp

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

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

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

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

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

Exec sp_OADestroy @Object

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

错误处理

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

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

第一个参数objecttoken是由sp_OACreate返回的对象标记。

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

上一页  1 2 3 4 5 6 7  下一页

Tags:COM 自动 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接