使用c ++ dll作为SQL Server中的程序集

时间:2014-01-27 21:43:55

标签: sql .net sql-server dll c++-cli

我知道我可以将.NET dll注册为程序集并在我的sql查询中调用函数。但是对于使用c ++或c ++ / cli dll来达到同样的目的,我得到了令人困惑的陈述。

以下链接描述了一种方法:

http://msdn.microsoft.com/en-us/library/vstudio/hc912f03(v=vs.120).aspx

然后我收到以下错误消息:

程序集“libname”的CREATE ASSEMBLY失败,因为程序集“libname”格式不正确或者不是纯.NET程序集。无法验证的PE标头/本机存根。

另一个文档实际上声明只能使用纯.NET模块。

http://blogs.msdn.com/b/psssql/archive/2013/02/23/unable-to-register-net-framework-assembly-not-in-the-supported-list.aspx

所以我想知道什么是真的,如果可能的话如何在SQL Server 2012上使用c ++ dll?

我尝试使用/ clr:safe编译的c ++ / cli包装器来包装我的c ++ dll,但没有成功。

1 个答案:

答案 0 :(得分:0)

本文有一些关于创建dll的解决方法。创建c ++ dll后,会创建一个C#dll来包装c ++ dll:

https://lennilobel.wordpress.com/2014/01/29/calling-c-from-sql-clr-c-code/