2011-06-02 85 views
1

Suposse內外部的C++代碼,我有一個UDF在SQL Server 2008:UDF調用SQL服務器

Create function dbo.ReadXml (@xmlMatrix xml) returns table 
as 
return 
(select 
    --SOME C++ CODE 
) 
go 
  • 是否有可能增加一個C++代碼或致電UDF內的C++函數?

回答

2

Onyl如果此C++函數編譯並安裝爲extended stored procedure
但是擴展存儲過程已被棄用,並且很快就會被刪除。

所以你唯一可靠的選擇是寫一個CLR function。它可以是調用外部C++ dll的C#CLR函數,也可以是直接包含代碼的託管C++ CLR函數。

+1

好的,所以這些步驟將是: - 有一個C#CLR函數 - 這個C#函數調用外部C++ DLL ....這個C#如何調用一個C++ DLL?我不明白這一步... – cMinor 2011-06-02 15:37:43

+1

@cMinor通過使用[DllImportAttribute](http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx)。 – GSerg 2011-06-02 15:43:26

+0

正如你所回答的那樣,你推薦什麼,C#CLR函數還是託管C++函數? – cMinor 2011-06-02 15:48:44