2010-11-18 7 views
4

Ist es möglich, gespeicherte CLR-Prozedur in SQL Server CLR-Projekt mit Eingabeparameter vom Typ nvarchar (max) zu erstellen?Wie erstellt CLR gespeicherte Prozedur mit Nvarchar (Max) Parameter?

Wenn Sie definieren gespeicherte Prozedur:

< Microsoft.SqlServer.Server.SqlProcedure() > _
öffentlichen Geteilt Sub MyProcedure (ByVal param1 As String)

Dann, wenn Sie deploy es, param1 ist vom Typ NVarchar (4000). Gibt es eine Möglichkeit, NVarchar (max) zu haben?

Antwort

3

Sie können das Attribut SqlFacet verwenden. Wenn Sie den NVARCHAR(MAX) Typ als Parameter wollen, dann sollten Sie dies tun:

[SqlProcedure] 
public static void storedProcedure1([SqlFacet(MaxSize=-1)] String param){ .. } 

Wenn Sie es als Rückgabewert in einer benutzerdefinierten Funktion benötigen:

[return:SqlFacet(MaxSize=-1)] 
[SqlFunction] 
public static String userFunction1(){ ... } 

Die MaxSize = -1 zeigt dass die Größe des NVARCHAR MAX ist.

Verwandte Themen