Mam metodę w zespole, który wygląda tak:Rodzaje nie pasują do tworzenia CLR Przechowywane Procedura
namespace MyNameSpace
{
public class MyClass
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod(SqlChars myMessage)
{
// Stuff here
}
}
}
skompilować że do biblioteki dll i załadować go do mojego SQL Server tak:
drop assembly MyAssembly
create assembly MyAssemblyfrom 'C:\Scripts\MyAssembly.dll'
To wszystko działa dobrze.
Ale teraz próbuję uruchomić to:
CREATE PROCEDURE MySproc @message nvarchar(max)
AS EXTERNAL NAME MyAssembly.[MyNameSpace.MyClass].MyMethod
Kiedy biegnę, że mam ten błąd:
CREATE PROCEDURE for "MySproc " failed because T-SQL and CLR types for parameter "@myMessage" do not match.
Jakieś pomysły jak mogę rozwiązać ten problem?
Próbowałem również metody te podpisy:
public static void MyMethod(string myMessage)
public static void MyMethod([SqlFacet(MaxSize = -1)] string myMessage)