Ho un metodo in un assembly che assomiglia a questo:Tipi non corrispondono per la creazione di una stored procedure CLR
namespace MyNameSpace
{
public class MyClass
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod(SqlChars myMessage)
{
// Stuff here
}
}
}
compilo che a una DLL e inserirla nel mio SQL Server in questo modo:
drop assembly MyAssembly
create assembly MyAssemblyfrom 'C:\Scripts\MyAssembly.dll'
Che tutto funzioni correttamente.
Ma ora cerco di eseguire questo:
CREATE PROCEDURE MySproc @message nvarchar(max)
AS EXTERNAL NAME MyAssembly.[MyNameSpace.MyClass].MyMethod
Quando eseguo che ottengo questo errore:
CREATE PROCEDURE for "MySproc " failed because T-SQL and CLR types for parameter "@myMessage" do not match.
Tutte le idee come posso risolvere questo?
Ho anche provato questi metodi firme:
public static void MyMethod(string myMessage)
public static void MyMethod([SqlFacet(MaxSize = -1)] string myMessage)