sql >> Databáze >  >> RDS >> Oracle

Chyba syntaxe při pokusu o volání balíčku Oracle pomocí ODBC v C#

Konečně se to podařilo. Přidal jsem velikost každého parametru a provedl opravy ve volání:funkce má čtyři parametry (1 in, 3 out) a žádnou návratovou hodnotu:

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

Tento dokument mi také velmi pomohl:Používání ovladačů Oracle ODBC Drivers with Third Party produkty




  1. MySQL se nespustí při upgradu OSX na Yosemite nebo El Capitan

  2. vyberte podobné hodnoty z databáze mysql

  3. Uložené funkce MySQL – názvy dynamických/proměnných tabulek a sloupců

  4. Jak mohu vyvolat své binární soubory C++ přes rozhraní CGI?