Tengo un problema que no puedo resolver. Estoy usando SQL Server 2005, C# CLR para usar dll externo. es un parámetro de longitud. Necesito usar como parámetro de función tipo varchar(max)
. Si en el código C# utilizo string
, SqlSring
, no puedo usar T-SQL tipo varchar(max)
, solo varchar(4000)
de nvarchar(4000)
. Debo decir que puede ser situaciones, cuando necesito usar más de 4000 símbolos, entonces necesito saber qué tipo de C# necesito usar para varchar(max)
.T-SQL (varchar (max) vs CLR (cadena, SqlString, SqlChars)?
He leído muchos artículos, y varios de ellos dicen, que para esto puedo use SqlChars
. Pero! Tengo manipulaciones con cadenas. ¿Cómo puedo tener acciones con string
o SqlString
y luego convertir a SqlChars
? (Es posible SqlChars.ToString()
o SqlChars.ToSqlString()
).
No encontré ningún código C# para esto.
Un 'varchar (max)' cadena que está utilizando su capacidad máxima no será que puede cargarse en una cadena de CLR, ya que agotará el espacio de direcciones. ¿Puede ser más explícito con respecto a las acciones que desea realizar frente a estas cadenas? –
Convierto cualquier tipo de SQL a varchar y envío este valor a la dll externa. Entonces, haga manipulaciones con él y regrese a SQL Server. Ahora uso SQL/vchar (4000) y C#/string. Necesito más de 4000 símbolos. –
@Damien_The_Unbeliever: tuve la impresión de que tanto el servidor 'varchar (max) 'de SQL Server como una instancia de .NET' string' podían tener hasta 2 GB de tamaño ... –