Поиск причины ОШИБКИ [22001] [IBM] [AS] Ошибка преобразования для переменной или параметра * N - PullRequest
0 голосов
/ 25 января 2019

Я вызываю процедуру из C # и получаю следующее сообщение об ошибке:

ERROR [22001] [IBM][AS] Conversion error on variable or parameter *N

Есть ли способ заставить DB2 сказать мне , какой параметр не может быть преобразован?

Бонусные баллы DB2 могут сказать мне, к какому типу он пытался обратиться.

1 Ответ

0 голосов
/ 28 января 2019

Поскольку эта ошибка, по-видимому, связана с вашей процедурой SQL, проще всего было бы вызвать эту процедуру из среды зеленого экрана, чтобы получить больше данных отладки. Вы можете вызвать эту процедуру из служебной программы STRSQL, а затем нажать F1 в сообщении об ошибке , и иногда вы получите больше подробностей, чем сообщение об ошибке, которое было передано обратно через OLEDB.

Если у вас есть исходный код для процедуры SQL, вы можете использовать утилиту STRDBG для пошагового просмотра исходного кода SQL и посмотреть, в какой строке он неисправен, и вы можете проверить значения локальные переменные непосредственно перед выдачей ошибки. Это часто будет самый тщательный способ выяснить, что происходит не так. Отладка подпрограммы SQL

В хорошо написанной процедуре такого рода ошибки часто подразумевают «мусор во входе, мусор вне», и вы должны сначала проверить свои входные данные, но это также может быть код SQL, некорректно обрабатывающий совершенно корректный ввод, и, следовательно, ошибка в процедура.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...