Ich habe eine Methode in einer Baugruppe, die wie folgt aussieht:Typen passen nicht eine CLR gespeicherte Prozedur für die Erstellung von
namespace MyNameSpace
{
public class MyClass
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod(SqlChars myMessage)
{
// Stuff here
}
}
}
ich kompilieren, die zu einer dll und laden Sie es in meinem SQL Server wie folgt aus:
drop assembly MyAssembly
create assembly MyAssemblyfrom 'C:\Scripts\MyAssembly.dll'
Das alles funktioniert gut.
Aber jetzt versuche ich, dies auszuführen:
CREATE PROCEDURE MySproc @message nvarchar(max)
AS EXTERNAL NAME MyAssembly.[MyNameSpace.MyClass].MyMethod
Wenn ich laufen, dass ich diesen Fehler erhalten:
CREATE PROCEDURE for "MySproc " failed because T-SQL and CLR types for parameter "@myMessage" do not match.
Irgendwelche Ideen, wie kann ich dieses Problem lösen?
ich auch diese Methode Signaturen versucht haben:
public static void MyMethod(string myMessage)
public static void MyMethod([SqlFacet(MaxSize = -1)] string myMessage)