ORA-06550
кодът, който получавате, означава, че функцията е компилирана с невалидни изрази и трябва да бъде пренаписана. Не виждам нищо очевидно нередно в кода, така че може да имате проблеми като разрешения или неправилни имена на таблици и трябва да проверите дали можете да стартирате функцията в PL/SQL редактор преди всичко. След това, след като го стартирате, опитайте...
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();
Това трябва да може да изпълнява функцията като съхранена процедура, докато очаква връщана стойност с име kiekis
от тип number
да бъде на разположение за работа.