我有一個方法,看起來像這樣的組件的CLR:類型不匹配,用於創建存儲過程
namespace MyNameSpace
{
public class MyClass
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod(SqlChars myMessage)
{
// Stuff here
}
}
}
我編譯到DLL並將其加載到我的SQL Server這樣的:
drop assembly MyAssembly
create assembly MyAssemblyfrom 'C:\Scripts\MyAssembly.dll'
這一切工作正常。
但現在我嘗試運行此:
CREATE PROCEDURE MySproc @message nvarchar(max)
AS EXTERNAL NAME MyAssembly.[MyNameSpace.MyClass].MyMethod
當我跑,我得到這個錯誤:
CREATE PROCEDURE for "MySproc " failed because T-SQL and CLR types for parameter "@myMessage" do not match.
任何想法如何,我可以解決這個問題?
我也曾嘗試這些方法簽名:
public static void MyMethod(string myMessage)
public static void MyMethod([SqlFacet(MaxSize = -1)] string myMessage)