Ho un problema, che non riesco a risolvere. Sto usando SQL Server 2005, C# CLR per usare la DLL esterna. è a lunghezza di parametro. Devo usare come parametro di funzione tipo varchar(max)
. Se al codice C# utilizzo string
, SqlSring
, non riesco a utilizzare il tipo T-SQL varchar(max)
, solo varchar(4000)
di nvarchar(4000)
. Devo dire che può essere situazioni, quando ho bisogno di usare più di 4000 simboli, quindi ho bisogno di sapere quale tipo di C# devo usare per varchar(max)
.T-SQL (varchar (max) vs CLR (stringa, SqlString, SqlChars)?
Ho letto molti articoli, e molti di loro dicono, che per questo posso utilizzare SqlChars
. Ma! Ho manipolazioni con stringhe. Come posso avere azioni con string
o SqlString
e quindi convertire in SqlChars
? (È possibile SqlChars.ToString()
o SqlChars.ToSqlString()
).
Non ho trovato alcun codice C# per questo.
A 'varchar (max)' stringa che sta usando la sua capacità massima non sarà caricabile in una stringa CLR, poiché esaurirà lo spazio degli indirizzi. Puoi essere più esplicito su quali azioni vuoi eseguire contro queste stringhe? –
Converto qualsiasi tipo SQL in varchar e invio questo valore alla dll esterna. Quindi, manipolarlo e tornare a SQL Server. Ora uso SQL/vchar (4000) e C#/stringa. Ho bisogno di più di 4000 simboli. –
@Damien_The_Unbeliever: Avevo l'impressione che sia 'varchar (max)' di SQL Server sia un'istanza di '' stringa' .NET potevano avere dimensioni fino a 2 GB .... –