我有
的Windows Server 2003 Standard x64 Edition SP2Windows NT 5.2(Build 3790:Service Pack 2)上的Microsoft SQL Server 2005 - 9.00.4035.00(X64)企业版(64位)
我下载了CAPICOM Platform SDK Redistributable:http://www.microsoft.com/downloads/details.aspx?FamilyId=860EE43A-A843-462F-ABB5-FF88EA5896F6&displaylang=en
并从中安装 c:\ Windows \ syswow64与c:\ Windows \ syswow64 \ regsvr32.exe capicom.dll并成功注册。
当我试图跑
时DECLARE @S varchar(255)
DECLARE @D varchar(255)
DECLARE @O int
EXEC @C = sp_OACreate 'CAPICOM.EncryptedData', @O OUT
IF @C <> 0
BEGIN
EXEC sp_oageterrorinfo @O, @S out, @D out
SELECT err=CONVERT(VARBINARY(4),@C), source=@S, description=@D
RETURN
END
我收到了错误消息。
0x80040154 ODSOLE Extended Procedure Class not registered
我该怎么办?我该如何检查CAPICOM.DLL是否正确注册?
答案 0 :(得分:1)
这是reason 这个组件有64位版本吗?
答案 1 :(得分:1)
CAPICOM不会发送64位afaik,deprecated:
CAPICOM是一个仅限32位的组件 可以在。中使用 以下操作系统:Windows Server 2008,Windows Vista,Windows XP和Windows 2000.相反,使用 .NET Framework实现安全性 特征。有关更多信息,请参阅 Alternatives to Using CAPICOM
在SQL 2005 itslef中的加密函数和CRL过程访问.Net加密文件之间,坦率地说,我认为没有理由坚持使用COM加密API。当然,我知道你可以拥有遗留代码并且需要支持它,为新的开发提供支持绝对不是没有。
答案 2 :(得分:1)
这个答案详细介绍了如何为CAPICOM注册代理,以便可以在64位进程中使用它。
我实际上这样做是为了使用64位SQL Server中的CAPICOM而且工作正常。