是否可以使用commandType = text使用system.data.oracleclient调用存储过程



我正在使用System.Data.OracleClient使用企业库连接到Oracle数据库,我想使用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,因为传递的命令字符串包括在字符串中存储的过程调用的所有参数值。如果不可能,我将不得不从字符串中解析每个参数值,然后将它们放入参数对象中。

这是可能的。我发现我的问题是"执行"语句。Oracle存储的Procs不需要这。

相关内容

  • 没有找到相关文章

最新更新