SQLCLR:在64位SQL SERVER中运行32位.Net dll

时间:2012-11-01 13:29:29

标签: sql sql-server-2005 stored-procedures dll 64-bit

我有一个32位的dll,它是从存储过程中调用的。它适用于32位sql服务器,但现在当我从64位sql server 2005开发人员版本调用该过程时,它给出了一个例外。

如何从64位sql server运行32位dll?

请注意我没有dll的源代码,因此重新编译不是一个选项。

2 个答案:

答案 0 :(得分:0)

64位SQL Server只能调用64位DLL,但有一些调整。我从未尝试过。

我认为this post可能对您有帮助。

this

答案 1 :(得分:0)

我遇到了同样的问题,这就是我为克服这个问题所做的工作。

您无法使用SQLCLR函数在SQL 64位中加载32位dll,它将无法工作。您仍然可以按照以下方法使用SQLCLR实现。

创建64位DLL,可以将传递的参数写入SQL的txt文件中。

使用filesystemwatcher以32位创建Windows服务,并在_changed事件中获取txt文件,读取内容并从32位dll调用该方法。

我希望这能解决你的问题。