Я использую System.Data.OracleClient
для подключения к базе данных Oracle с помощью библиотеки Enterprise, и я хотел бы вызвать хранимую процедуру с помощью commandType = Text
следующим образом:
Microsoft.Practices.EnterpriseLibrary.Data.Database database = null;
database = DatabaseFactory.CreateDatabase("DbInstanceName");
System.Data.Common.DbConnection conn = database.CreateConnection();
conn.Open();
commandObj = database.GetSqlStringCommand("execute procName('paramValue1','paramValue2')");
commandObj.CommandType = CommandType.Text;
commandObj.Connection = conn;
returnCode = database.ExecuteNonQuery(commandObj);
Я продолжаю получать сообщение об ошибке недопустимого оператора SQL и хотел бы знать, можно ли использовать CommandType.Text
для вызова хранимой процедуры в Oracle.
Мы не можем использовать CommandType = StoredProcedure
, потому что переданная командная строка включает все значения параметров для вызова хранимой процедуры в строке. Если это невозможно, мне пришлось бы проанализировать каждое значение параметра из строки и поместить их в объекты параметров.