выполнение хранимых процедур Oracle с использованием ADO (c #) - PullRequest
2 голосов
/ 25 июня 2010

Я пытаюсь вызвать хранимый процесс Oracle из приложения C #, используя следующий код

Connection conn = new Connection();
Recordset rs = new Recordset();
conn.Open("Provider=MSDAORA;User Id=username;Password=password;Data Source=DB;", null, null, 0); ;
rs.Open("sproc 'abc', 'xyz'", conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly, -1);

где abc и xyz - входные параметры ..

Тем не менее, я получаю «недопустимое исключение оператора SQL» при попытке его запустить ..

Есть ли другой способ выполнить процедуру, хранимую оракулом. Я могу выполнять хранимые MSSQL-процессы или обычные запросы Oracle так же, как описано выше ..

Я даже пытался использовать createparameter, но это тоже не помогло

Спасибо, Sam

Ответы [ 2 ]

1 голос
/ 25 июня 2010

Взять инструменты Oracle ODP.NET: http://www.oracle.com/technology/software/tech/windows/odpnet/index.html

Это то, что я использую для взаимодействия с нашей базой данных Oracle из моего приложения ASP.NET

Проверьте здесь для примера вызова хранимой процедуры Oracle в C #.

В основном, с пакетом:

// Create oracle command object for the stored procedure
OracleCommand cmd = new OracleCommand("HR_DATA.GETCURSORS", conn);
cmd.CommandType = CommandType.StoredProcedure;

// Enter a parameter for the procedure
OracleParameter dep_id = new OracleParameter();
dep_id.OracleDbType = OracleDbType.Decimal;
dep_id.Direction = ParameterDirection.Input;
dep_id.Value = 60;
cmd.Parameters.Add(dep_id);

// Add more parameters ... 

// Execute the stored procedure

Вот ссылка на документацию API

0 голосов
/ 25 июня 2010

Неважно .. Очевидно, мне не хватало скобок вокруг входных параметров ...

Спасибо, Сэм

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