2008-10-26 1 views
1

Я пишу приложение Windows Forms C#, которое вызывает хранимые процедуры Oracle.Как настроить типы набора данных на языке C# при вызове OracleDataAdapter.Update() для хранимых процедур Oracle?

Я решил использовать типизированные наборы данных в приложении, они правильно заполняют различные даталяры, но возникают проблемы при вызове UpdateCommand или InsertCommand. Я вручную закодированы эти команды, потому что а) я использую Oracle хранимых процедур и б) я не доверяю CommandBuilder;)

Я использую VS2008 и Oracle 9i

У меня нет проблем выполнения хранимых процедур в SQL Server или Oracle, когда вы просто вызываете их из команды .ExecuteNonQuery; также у меня нет проблем с непосредственным выполнением операторов SQL и обновлением базы данных. Проблемы возникают только при выполнении измененных строк с помощью OracleDataAdapter.Update(). Я задаю правильный набор строк (добавлен, изменен и т. Д.)

Основная ошибка, которую я получаю (после множества экспериментов со все более упрощенными SP, заканчивающимися только одним параметром int), является «PLS-00306: неправильный номер или тип аргументов при вызове 'PROCNAME' '

Я попытался префикс параметра Oracle как с:, так и без.

Достаточно сказать, что я теряю желание жить. У кого-нибудь есть идеи, которые я мог бы попробовать дальше?

Благодаря

ответ

1

Вы используете драйвер Oracle, ODBC или Microsoft?

Stick с драйвером Oracle.

Попробуйте использовать простой тестовый пример с текстовым параметром вместо целого числа. Не видя своего кода, может случиться так, что вам нужно передать длинный int процедуре. Попытка простого текстового параметра могла убедиться в том, что проблема связана с типичной типизацией.

0

спасибо за ответ, его драйвер Oracle 9.02.0.0, SQORA32.DLL. Он всегда работал отлично для всего, что я сделал ... догадываюсь, что вы поставили семя сомнения в моем уме!

+0

Ну, на самом деле, я видел больше проблем с использованием драйвера MS. Еще одна вещь, которую нужно попробовать - использовать случай с голой кости, используя текстовый аргумент вместо целого. – DCookie 2008-10-26 21:25:55

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