sql >> Database teknologi >  >> RDS >> Oracle

Syntaksfejl under forsøg på at kalde en Oracle-pakke ved hjælp af ODBC i C#

Fik det endelig til at virke. Jeg tilføjede størrelsen af ​​hver parameter og lavede rettelser til opkaldet:Funktionen har fire parametre (1 ind, 3 ud) og ingen returværdi:

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();

Jeg fandt også dette dokument meget nyttigt:Brug af Oracle ODBC-drivere med Third Festprodukter




  1. Leasing job (atomic update and get) fra en MySQL database

  2. Indlejrede relationer med Sequelize

  3. Henter serie-id fra batch-indsatte rækker i postgresql

  4. 500 intern serverfejl?