Можно ли использовать commandType = text для вызова хранимой процедуры с использованием System.Data.OracleClient
Я использую 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
потому что переданная командная строка включает в себя все значения параметров для вызова хранимой процедуры в строке. Если это невозможно, мне придется проанализировать каждое из значений параметров из строки и поместить их в объекты параметров.
1 ответ
Это возможно. Я обнаружил, что моей проблемой является оператор "execute". Это не требуется для хранимых процедур Oracle.