1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > bll调用mysql存储过程_SQL Server的存储过程或自定义函数调用Com组件

bll调用mysql存储过程_SQL Server的存储过程或自定义函数调用Com组件

时间:2020-02-15 15:32:50

相关推荐

bll调用mysql存储过程_SQL Server的存储过程或自定义函数调用Com组件

虽然MS SQl存储过程自带有加密的方法,但现在外面有很可软件可以解掉。

解决的方法是写DLL或OLE程序,然后在数据库中调用就行了,SQL的很多扩展存储过程就是用DLL

--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 @obj

return

lberr:

exec sp_oageterrorinfo 0,@src out,@desc out

select cast(@err as varbinary(4)) as 错误号

,@src as 错误源,@desc as 错误描述

下面这个是开发项目时朋友写的,以做参考:)

CREATE FUNCTION SMSFormatMsg (@s1 nvarchar(1000), @s2 nvarchar(1000))

RETURNS nvarchar(1000)

AS

BEGIN

DECLARE @object int

DECLARE @hr int

DECLARE @property varchar(255)

DECLARE @return varchar(255)

DECLARE @src varchar(255), @desc varchar(255)

-- 创建对象实例。

EXEC @hr = sp_OACreate 'SQLOLEProc.CbkSms', @object OUT

IF @hr <> 0

BEGIN

SELECT @return = 'error'

END

-- 调用对象方法。

EXEC @hr = sp_OAMethod @object, 'FormatMsg', @return OUT , @s1, @s2

IF @hr <> 0

BEGIN

SELECT @return = 'error'

END

-- 销毁对象实例。

EXEC @hr = sp_OADestroy @object

IF @hr <> 0

BEGIN

SELECT @return = 'error'

END

RETURN(@return)

END

@注:Original Letters

/rolinson/archive//02/26/109540.html

分享到:

-09-21 08:35

浏览 1179

分类:数据库

评论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。