2013-04-29 5 views
1

Я хочу передать один CHAR в oracle sp.C# OracleDbType эквивалент - для Oracle datatype char

Я попытался с помощью:

cmd.Parameters.Add("i_flag", OracleDbType.Varchar2, flag, ParameterDirection.Input); 

где флаг представляет собой C# символ, но это дает переполнением исключение.

Я также попытался:

cmd.Parameters.Add("i_flag", OracleDbType.Char, flag, ParameterDirection.Input); 

, но он дает то же самое исключение.

Даже ниже дает тот же исключение:

cmd.Parameters.Add("i_flag", OracleDbType.Varchar2, flag.ToString(), ParameterDirection.Input); 

Можете ли вы сказать, что правильный тип параметра, который я должен пройти.

Спасибо, Варуна

+0

Пожалуйста, проверьте размер переменной и размер данных, переданных с передней стороны. – TechDo

+0

переменная объявляется как CHAR (200). Какой размер/тип данных C# он с радостью примет. : S – user96403

+0

Максимум может иметь 2000 байт. – TechDo

ответ

0

Более подробный анализ показал, что переполнение было вызвано некоторой арифметической операции, проводимой в хранимой процедуре.

Мы должны отсечь десятичной перед отправкой его на .NET

что-то похожее на https://kr.forums.oracle.com/forums/thread.jspa?threadID=231945

Спасибо за помощь, хотя.

Смежные вопросы