【问题标题】:UDF calling external C++ code inside SQL ServerUDF 在 SQL Server 中调用外部 C++ 代码
【发布时间】:2011-06-02 15:21:23
【问题描述】:

假设我在 SQL Server 2008 中有一个 UDF:

Create function dbo.ReadXml (@xmlMatrix xml) returns table
as
return
( select
   --SOME C++ CODE
)
go
  • 是否可以在 UDF 中添加 c++ 代码或调用 c++ 函数?

【问题讨论】:

    标签: c++ sql-server-2008 user-defined-functions


    【解决方案1】:

    如果此 C++ 函数已编译并安装为 extended stored procedure,则为 Onyl。
    但是扩展存储过程已被弃用,很快就会被删除。

    所以你唯一可靠的选择是写一个CLR function。它可以是调用外部 C++ dll 的 C# CLR 函数,也可以是直接包含您的代码的托管 C++ CLR 函数。

    【讨论】:

    • 好的,所以步骤是: - 有一个 C# CLR 函数 - 这个 C# 函数调用外部 C++ dll.... C# 将如何调用 C++ dll?我不太明白那一步...
    • @cMinor 通过使用DllImportAttribute
    • 正如您所回答的,您推荐什么,C# CLR 函数还是托管 C++ 函数?
    • @cMinor 任何对您来说更容易使用/维护的东西。对我来说,拥有一个单独的 C++ dll 会更容易,因为我对托管 C++ 太不熟悉了。但是,拥有一个托管 C++ 程序集的优点是需要最低权限 (SAFE),因为您不会尝试从外部加载某些内容。
    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2019-08-19
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多