sql >> Database >  >> RDS >> Oracle

C# oproep orakel opgeslagen functie

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.



  1. Sql-query voor boomtabel

  2. CLOB invoegen in Oracle-database

  3. Waarom duurt een Microsoft SQL Server 2012-query minuten via JDBC 4.0, maar seconden in Management Studio?

  4. Hoe echo ik een Resource-id #6 van een MySql-antwoord in PHP?