Respostas:
Nesse caso, você usa -1.
Para aqueles de nós que não viram -1 por Michal Chaniewski, a linha completa de código:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
O tamanho máximo de SqlDbType.VarChar é 2147483647.
Se você usasse uma conexão oledb genérica em vez de sql, encontrei aqui também um tipo de dados LongVarChar. Seu tamanho máximo é 2147483647.
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
Você não precisa passar o parâmetro size, basta declarar que Varchar
já entende que é MAX, como:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
Se você fizer algo assim:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
tamanho será retirado de "algum texto grande" .Comprimento
Isso pode ser problemático quando é um parâmetro de saída, você não recebe mais caracteres e coloca como entrada.