sql >> Databasteknik >  >> RDS >> Oracle

Syntaxfel vid försök att anropa ett Oracle-paket med ODBC i C#

Äntligen fick det att fungera. Jag lade till storleken på varje parameter och gjorde korrigeringar i anropet:funktionen har fyra parametrar (1 in, 3 out) och inget returvärde:

using (OdbcCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = "{ CALL TESTUSER.TESTPKG.TESTFUNC(?,?,?,?) }";
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Parameters.Add("PARAM1", OdbcType.Decimal, 38).Direction = System.Data.ParameterDirection.Input;
    cmd.Parameters["PARAM1"].Value = var1;
    cmd.Parameters.Add("PARAM2", OdbcType.VarChar, 5).Direction = System.Data.ParameterDirection.Output;
    cmd.Parameters.Add("PARAM3", OdbcType.VarChar, 50).Direction = System.Data.ParameterDirection.Output;
    cmd.Parameters.Add("PARAM4", OdbcType.VarChar, 200).Direction = System.Data.ParameterDirection.Output;
    cmd.ExecuteNonQuery();

Jag tyckte också att det här dokumentet var mycket användbart:Använda Oracle ODBC-drivrutiner med Third Festprodukter




  1. MySQL - nummeranslutning nådd

  2. Lägg upp och hämta samtidigt i php

  3. Finns det några verkliga fördelar med att använda ett RDBMS jämfört med platta filer på ett enkelt webbdocsystem (eller grundläggande CMS)?

  4. Hur kan jag använda OR-villkor i MySQL CASE-uttryck?