Odpowiedzi:
W tym przypadku używasz -1.
Dla tych z nas, którzy nie widzieli -1 Michała Chaniewskiego, pełna linia kodu:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
Maksymalny rozmiar SqlDbType.VarChar to 2147483647.
Jeśli użyjesz ogólnego połączenia oledb zamiast sql, znalazłem tutaj również typ danych LongVarChar. Jego maksymalny rozmiar to 2147483647.
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
Nie musisz przekazywać parametru rozmiaru, po prostu zadeklaruj, że Varchar
już rozumiesz, że ma on wartość MAX:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
Jeśli zrobisz coś takiego:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
rozmiar zostanie pobrany z „jakiegoś dużego tekstu” .Length
Może to być problematyczne, gdy jest to parametr wyjściowy, nie odzyskujesz więcej znaków, niż wstawiasz jako dane wejściowe.