ORA-06502: PL/SQL: numeric or value error: character string buffer toosmall

Ошибка на Oracle
ORA-06502: PL/SQL: numeric or value error: character string buffer too smallВ моем случае это связано с тем, что функция или процедура Oracle имеет возвращаемый парампетр Varchar2
и я использую ODP.NET и следующий код устанавливающий параметр на стороне ADO.NET (т.е. на стороне .NET Framework приложения):
oCom.Parameters.Add("o_name", OracleDbType.Varchar2, ParameterDirection.Output);
Неправильно, сказала Oracle всем :), надо использовать следующее извращение, сказала Оракля:
oCom.Parameters.Add("o_name", OracleDbType.Varchar2, 300, null, ParameterDirection.Output);
Здесь 300 – это размерность. Любая, но не меньше, чем вы ожидаете.
null – ну типа как изначальное значени.
Уже стотый раз спотыкаюсь на этом, но постоянно забываю об этой несуразности.
С облегчением :) !

Комментарии

  1. [...] размер (size), у нас выше в примере это цифры 100 и 20. Детально об этом здесь. К этому относится и следующее: метод Parameters.Add(…) в [...]

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

A4tech. Мышь не найдена. Пожалуйста, подсоедините мышь.

SVN: Пропали иконки TortoiseSVN.

Вывод в cmd или bat пустой строки.