Wie gehen boolean parameter Oracle-Prozedur C#

Problem habe ich übergeben boolean-parameter, um meine Vorgehensweise in Oracle. Ich bekomme Fehler

ORA-06550: line 1, column 7:
  PLS-00306: wrong number or types of arguments in call to 'LOG_ENTRY'
ORA-06550: line 1, column 7:
  PL/SQL: Statement ignored"

Prozedur in Oracle:

log_entry(p_rqserial in integer,
          p_orig in varchar,
          p_type in char,
          p_objname in varchar,
          p_info in varchar,
          p_text in varchar, p_with_commit boolean)

Dies ist mein code :

    cmd = new Oracle.DataAccess.Client.OracleCommand("Vbank_pkg.vb_log_entry", con);
    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 =true;
    cmd.ExecuteNonQuery();//Here error

Tun Sie wissen, wie zu tun? Weil ich finde keine Lösung und viele Leute sagen, es ist inpossible zu übergeben bool-parameter von C# auf Oracle-aber ich kann nicht glauben, dass es keine Möglichkeit gibt.

Entfernen Sie die Anführungszeichen, das ist einer der Hauptvorteile für die Verwendung von vorbereiteten Anweisungen und bind-Parameter.

InformationsquelleAutor Vova Potapov | 2015-01-13

Schreibe einen Kommentar