SQL SERVER错误15208:在SQL SERVER 2005上使用PERMISSION_SET = EXTERNAL_ACCESS创建装配

时间:2012-02-12 20:18:50

标签: sql-server-2005 sqlclr

我在VS2008中创建了一个库,它在IEnumerable上转换了这个(http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml)xml。当我在db的Assemblies中添加库时。之后我创建了一个输入货币链接和输出的函数:货币和汇率。添加dll的代码:

CREATE ASSEMBLY Currencies
FROM 'C:\Currencies.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS

这在SQL SERVER 2008中运行良好,但我必须在SQL SERVER 2005上放置一些库,但在这种情况下我无法使用EXTERNAL_ACCESS创建程序集。要使用external_access创建程序集,我必须创建ASTIMETRIC KEY和LOGIN,我在此站点上阅读:http://64.4.10.89/ru-ru/library/ms345106(v=sql.90).aspx。我使用这段代码:

USE master 
GO  

CREATE ASYMMETRIC KEY CurrenciesKey FROM EXECUTABLE FILE = 'C:\Currencies.dll'   
CREATE LOGIN CurrenciestLogin FROM ASYMMETRIC KEY CurrenciesKey   
GRANT EXTERNAL ACCESS ASSEMBLY TO CurrenciesLogin 
GO

但之后我有错误代码: 消息:15208 ...... 消息:15151 ...... 消息:4621 ......

如何解决SQL SERVER错误15208?

有人能帮助我吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我在没有CREATE ASYMMETRIC的情况下解决了这个问题......!我构建了我的类库货币,但是我改变了Target Framework:从.net framwork 3.5转换为.net framework 2.0并将cod中的一些更改为使用框架2.0运行。用新的dll创建程序集后,它工作正常!