выполнение хранимых процедур Oracle с использованием ADO (c #)

2

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

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-запроса" при попытке запустить его.

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

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

Спасибо, Сэм

Теги:
stored-procedures
ado.net

2 ответа

1

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

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

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

В принципе, с пакетом:

// 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
    +1. Microsoft устарела в отношении своих собственных драйверов Oracle и рекомендует использовать Oracle ODP.NET.
0

Nevermind.. По-видимому, у меня отсутствовали скобки вокруг входных параметров...

Спасибо, Сэм

Ещё вопросы

Сообщество Overcoder
Наверх
Меню