O
ORA-06550
código que você obtém significa que a função foi compilada com instruções inválidas e precisa ser reescrita. Não estou vendo nada obviamente errado com o código, então você pode ter problemas como permissões ou nomes de tabela incorretos e deve verificar se pode executar a função em um editor PL/SQL antes de tudo. Então, depois de começar a correr, tente... 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();
Isso deve ser capaz de executar a função como um procedimento armazenado enquanto espera um valor de retorno chamado
kiekis
do tipo number
estar disponível para o trabalho.