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.