Es gibt ein seltsames Problem, das in Oracle DB mit Visual Studio von meinem Projekt gefunden wurde. Zuerst öffne ich meine Toad, um Oracle-Funktion wie unten Bild zu überprüfen:
Wenn ich 3 Parameter Wert in SF_GET_COMP_SVAL gesetzt habe, funktioniert es, und wenn ich es in meinem Projekt wie folgt versucht habe, funktioniert es auch sehr Gut.Verwendung von ODAC mit Visual Studio 2015 Aufruf Oracle DB (Stored-Function)
using (OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleDbContext"].ToString()))
{
using (OracleCommand cmd = new OracleCommand())
{
cmd.CommandText = "select PG_AIS.SF_GET_COMP_SVAL('3','2','1') from dual";
try
{
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
}
catch
{
}
}
}
Allerdings kann es nicht funktioniert, wenn ich Paramter Modus wie wie folgenden Code verwenden
cmd.CommandText = "select PG_AIS.SF_GET_COMP_SVAL (a1,: a2,: a3) Dual"; cmd.Parameters.Add ("a2", "1");
cmd.Parameters.Add ("a3", "2");
cmd.Parameters.Add ("a1", "3");
warum ????