我在程序集中有一个方法,如下所示:
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)