BindByName
を使用してみてください OracleCommand
のプロパティ true
として データプロバイダーに、インデックスだけでなく名前でこれらのパラメーターをバインドさせる。 '
を渡す必要はありません パラメータとして。 ado.net
のパラメーターでリードされます 。
ODP.NETはブールデータ型をサポートしていません。 1
を使用するだけです または0
char
として それを持続させる価値。
サンプルの場合:
cmd = new Oracle.DataAccess.Client.OracleCommand("Vbank_pkg.vb_log_entry", con);
cmd.BindByName = true;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("p_rqserial", OracleDbType.Int32).Value = Log_Serial;
cmd.Parameters.Add("p_orig", OracleDbType.Varchar2).Value = p_orig;
cmd.Parameters.Add("p_type", OracleDbType.Char).Value = p_type;
cmd.Parameters.Add("p_objname", OracleDbType.Varchar2).Value = p_objname;
cmd.Parameters.Add("p_info", OracleDbType.Varchar2).Value = p_info;
cmd.Parameters.Add("p_text", OracleDbType.Varchar2).Value = p_text;
cmd.Parameters.Add("p_with_commit", OracleDbType.Char).Value = "1";
cmd.ExecuteNonQuery();