Анонимные параметры Oracle?

Я пытаюсь ввести данные в базу данных Oracle. Это будет хранимая процедура, которая принимает несколько параметров... Я имею в виду около 27 параметров (не спрашивайте, я ее не разрабатывал)...

Теперь мне нужно каким-то образом заполнить параметры этой хранимой процедуры... Большинство параметров, которые принимает хранимая процедура, - это VARCHARS... но пара значений char или Date или Number... Теперь все значения будут строковыми значения из функции, которую я вызываю (я буду читать документ XML и заполнять значения оттуда). Могу ли я просто ввести параметры через OracleParameterCollection.Add(Object) без необходимости преобразовывать объекты и преобразовывать их в правильный тип данных Oracle? Это просто выстрел в темноте. В противном случае я собираюсь написать массивный оператор смены регистра («Убей себя сейчас!»). Хотя мне кажется, я лучше знаю...

Поскольку это должно произойти в понедельник, мне лучше начать писать заявление о переключении случая, так как я подозреваю, что мой запрос невозможен.

Спасибо.


person SoftwareSavant    schedule 15.07.2011    source источник


Ответы (1)


Да, для многих пар типов данных Oracle автоматически преобразует данные за вас. Это, безусловно, включает преобразование строк в даты и числа. Однако с датами вы должны убедиться, что строка имеет формат текущих настроек даты NLS.

Приложение A документации ODP.NET перечисляет поддерживаемые преобразования в таблице A-2.

person Codo    schedule 15.07.2011
comment
Так что я мог просто получить строку и просто сделать это... cmd.Parameters.Add(OracleParm); cmd.Параметры.Добавить(1000); - person SoftwareSavant; 15.07.2011