Я пытаюсь вызвать 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, но это не помогло
Спасибо, Сэм
Возьмите инструменты 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
Nevermind.. По-видимому, у меня отсутствовали скобки вокруг входных параметров...
Спасибо, Сэм