CREATE FUNCTION [dbo].[md5func] (@para varchar(255) )
RETURNS varchar(255) AS
BEGIN
declare @Object int --OLE对象
declare @hr integer --对象返回值
declare @mStr varchar(255) --调用返回值
declare @Src varchar(255), @Desc varchar(255) --错误返回值
exec @hr = sp_OACreate 'TC.Encode' , @Object OUT
if @hr<>0
begin
exec @hr=sp_OADestroy @object
return ''
end
exec @hr = sp_OAMethod @object, 'MD5Encode', @mStr out , @para
if @hr<>0
begin
exec @hr=sp_OADestroy @object
return ''
end
exec @hr=sp_OADestroy @object
if @hr<>0
begin
return ''
end
return @mstr
END
|
CREATE PROCEDURE [dbo].[md5encode]
@para varchar(255)
AS
declare @Object int --OLE对象
declare @hr integer --对象返回值
declare @mStr varchar(255) --调用返回值
declare @Src varchar(255), @Desc varchar(255) --错误返回值
exec @hr = sp_OACreate 'TC.Encode' , @Object OUT
if @hr<>0
begin
exec sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@Src, Description=@Desc
return
end
exec @hr = sp_OAMethod @object, 'MD5Encode', @mStr out , @para
if @hr<>0
begin
exec sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
return
end
else
select md5=@mStr
exec @hr=sp_OADestroy @object
if @hr<>0
begin
exec sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@Src, Description=@Desc
return
end
GO
|