Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak przekazać parametr logiczny do procedury Oracle C#

Spróbuj użyć BindByName właściwość OracleCommand jako true aby zmusić dostawcę danych do powiązania tych parametrów według nazwy, a nie tylko dla indeksu. Nie musisz przekazywać ' jako parametry. Jest prowadzony z parametrami w ado.net .

ODP.NET nie obsługuje typu danych logicznych. Po prostu użyj 1 lub 0 jako char wartość, aby go zachować.

Dla próbki:

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();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Polecenia kopii zapasowej RMAN

  2. Warunkowa SUMA na Oracle

  3. Jak wybrać porównanie dwóch kolumn jako jednej kolumny w Oracle?

  4. Oracle DROP TABLE IF EXISTS Alternatywy

  5. Oracle.DataAccess nie jest dostępny do wyboru w Visual Studio 2013