sql >> Databasteknik >  >> RDS >> Oracle

C# ringer oracle lagrad funktion

ORA-06550 kod du får betyder att funktionen kompilerades med ogiltiga satser och måste skrivas om. Jag ser inget uppenbart fel med koden så du kan ha problem som behörigheter eller felaktiga tabellnamn och bör kontrollera om du kan köra funktionen i en PL/SQL-editor först och främst. Sedan, efter att du fått det igång, försök...

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

Detta bör kunna köra funktionen som en lagrad procedur samtidigt som man förväntar sig ett returvärde med namnet kiekis av typen number att vara tillgänglig för arbete.



  1. Anslutning till Db dör efter>4<24 i spring-boot jpa hibernate

  2. mysql dynamisk fråga i lagrad procedur

  3. Knee-Jerk Performance Tuning:Lägg bara till en SSD

  4. SQL:Vad är standardordningen efter för frågor?