--SQL Server的存储过程调用Com组件
/*--下面的部分在VB中完成首先我们先用VB 作一个最简单的组件工程名称: testSQLCOM
类名: TestMath'函数,计算两个整数相加的结果
Public Function AddMe(a As Long, b As Long) As Long
AddMe = a + b
End Function编译生成后,我们就可以在 Sql Server 中对这个 Com 组件进行调用了
--*//*--下面是SQL中对上面DLL的调用--*/--定义用到的变量
declare @err int,@src varchar(255),@desc varchar(255)
declare @obj int,@re int--创建调用实例
exec @err=sp_OACreate 'testSQLCOM.TestMath', @obj out
if @err<>0 goto lberr --如果创建失败,则进行错误处理--调用DLL中的函数
exec @err=sp_OAMethod @obj,'AddMe',@re out,100,200
if @err<>0 goto lberr --如果调用错误,则进行错误处理print '返回的结果是:' + str(@re)--完成后释放
exec sp_OADestroy @objreturnlberr:
exec sp_oageterrorinfo 0,@src out,@desc out
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
/*--下面的部分在VB中完成首先我们先用VB 作一个最简单的组件工程名称: testSQLCOM
类名: TestMath'函数,计算两个整数相加的结果
Public Function AddMe(a As Long, b As Long) As Long
AddMe = a + b
End Function编译生成后,我们就可以在 Sql Server 中对这个 Com 组件进行调用了
--*//*--下面是SQL中对上面DLL的调用--*/--定义用到的变量
declare @err int,@src varchar(255),@desc varchar(255)
declare @obj int,@re int--创建调用实例
exec @err=sp_OACreate 'testSQLCOM.TestMath', @obj out
if @err<>0 goto lberr --如果创建失败,则进行错误处理--调用DLL中的函数
exec @err=sp_OAMethod @obj,'AddMe',@re out,100,200
if @err<>0 goto lberr --如果调用错误,则进行错误处理print '返回的结果是:' + str(@re)--完成后释放
exec sp_OADestroy @objreturnlberr:
exec sp_oageterrorinfo 0,@src out,@desc out
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
解决方案 »
- 更改列名的错误
- XP下的sqlserver2000开发版 经常引起系统假死机 分离一个50G的数据库后问题解决 附加运行其他数据库都正常 50G的数据库很重要 请问如何处理
- SQL2000企业版安装不了!请教高手
- 简单的SQL语句,在线等
- 求出批次号最大值 -----help me...
- 这样的需求,怎样写查找语句?
- 数据库从SQL SERVER 2000升级到2008后插入速度变慢
- 特殊的行列转换问题
- DELPHI5中连结SQL Server2000数据库出错,请大家帮忙!谢谢!
- 急!急!急!两个重要问题,请各位高手帮忙。我会给出高分的。谢谢了!!!!
- 急!Windows 98 客户端如何查询SQL SERVER库
- 求解:关于sqlserver同access合并复制的问题
不过,你提供的这个我知道,我需要在VB.NET中开发的组件,而不是VB6