System.Data.OracleClient
を使用してエンタープライズライブラリを使用してOracleデータベースに接続しています。commandType = Text
を使用してストアドプロシージャを呼び出します。CommandType = textを使用してSystem.Data.OracleClientを使用してストアドプロシージャを呼び出すことは可能ですか
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文のエラーを取得しておくと、Oracleへのストアドプロシージャ呼び出しのCommandType.Text
を使用することが可能であるかどうかを知りたいです。
CommandType = StoredProcedure
を使用することはできません。渡されるコマンド文字列には、文字列内のストアドプロシージャコールに対するすべてのパラメータ値が含まれているためです。これが不可能な場合は、文字列から各パラメータ値を解析し、それらをパラメータオブジェクトに配置する必要があります。