De ORA-06550
code die u krijgt, betekent dat de functie is gecompileerd met ongeldige instructies en opnieuw moet worden geschreven. Ik zie niets dat duidelijk mis is met de code, dus je hebt mogelijk problemen zoals machtigingen of onjuiste tabelnamen en moet eerst en vooral controleren of je de functie in een PL/SQL-editor kunt uitvoeren. Probeer dan, nadat je dat hebt gedaan...
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();
Dit zou de functie als een opgeslagen procedure moeten kunnen uitvoeren, terwijl een retourwaarde met de naam kiekis
wordt verwacht van type number
beschikbaar zijn voor werk.