Respuestas:
En este caso usas -1.
Para aquellos de nosotros que no vimos -1 por Michal Chaniewski, la línea completa de código:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
El tamaño máximo de SqlDbType.VarChar es 2147483647.
Si usaría una conexión oledb genérica en lugar de sql, descubrí que aquí también hay un tipo de datos LongVarChar. Su tamaño máximo es 2147483647.
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
No necesita pasar el parámetro de tamaño, solo declare que Varchar
ya entiende que es MAX como:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
Si haces algo como esto:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
el tamaño se tomará de "algún texto grande". Longitud
Esto puede ser problemático cuando se trata de un parámetro de salida, no obtiene más caracteres de los que ingresa como entrada.