ORA-06550
kód, který získáte, znamená, že funkce byla zkompilována s neplatnými příkazy a je třeba ji přepsat. Nevidím nic zjevně špatného v kódu, takže můžete mít problémy, jako jsou oprávnění nebo nesprávné názvy tabulek, a měli byste zkontrolovat, zda můžete funkci spustit především v editoru PL/SQL. Potom, až to spustíte, zkuste...
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();
To by mělo být schopno spustit funkci jako uloženou proceduru při očekávání návratové hodnoty s názvem kiekis
typu number
být k dispozici pro práci.