У меня есть метод в сборке, который выглядит следующим образом:
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"не удалось, потому что типы T-SQL и CLR для параметра" @myMessage "не совпадают.
Любые идеи, как я могу решить эту проблему?
У меня естьТакже пробовали эти методы подписи:
public static void MyMethod(string myMessage)
public static void MyMethod([SqlFacet(MaxSize = -1)] string myMessage)