मैं एक विधानसभा है कि इस तरह दिखता है में एक विधि है बनाने के लिए मेल नहीं खाते:प्रकार एक CLR संग्रहीत प्रक्रिया
namespace MyNameSpace
{
public class MyClass
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod(SqlChars myMessage)
{
// Stuff here
}
}
}
मैं संकलन है कि एक dll करने के लिए और इस तरह मेरी एसक्यूएल सर्वर में इसे लोड:
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)