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

Funkcja przechowywana w wywołaniu C# Oracle

ORA-06550 Otrzymany kod oznacza, że ​​funkcja została skompilowana z nieprawidłowymi instrukcjami i musi zostać napisana ponownie. Nie widzę niczego wyraźnie złego w kodzie, więc możesz mieć problemy, takie jak uprawnienia lub nieprawidłowe nazwy tabel, i powinieneś przede wszystkim sprawdzić, czy możesz uruchomić funkcję w edytorze PL/SQL. Następnie, gdy już to zrobisz, spróbuj...

var cmd = new OracleCommand();

cmd.Connection = conn;
cmd.CommandText = "ar_knyga_egzistuoja";
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("id", id);
cmd.Parameters.Add("kiekis", OracleType.Number);
cmd.Parmeters["kiekis"].Direction = ParameterDirection.ReturnValue;

cmd.Connection.Open();
cmd.ExecuteNonQuery();

var kiekis = Convert.ToString(cmd.Parameters["kiekis"].Value);

MessageBox.Show(kiekis);
cmd.Connection.Close();

Powinno to umożliwić uruchomienie funkcji jak procedury składowanej podczas oczekiwania na wartość zwracaną o nazwie kiekis typu number być dostępnym do pracy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, jakiego symbolu waluty używa Twoja sesja w Oracle

  2. Zastępowanie tekstu w kolumnie BLOB

  3. Dostawca nie jest kompatybilny z wersją klienta Oracle

  4. Kolejna biała księga Optymalizatora 12c

  5. Jak sprawdzić nieaktualne statystyki