So rufen Sie eine gespeicherte Oracle-Prozedur (PL/SQL) aus .NET?

Ich bin neu in Oracle. Es ist eine Anforderung, die in unserer Firma für ein Projekt mit Oracle und .Net. Also ich habe versucht, führen Sie eine demo-Anwendung. Ich bin mit Oracle 10g XE als DB und VS2010.

Schrieb ich ein Verfahren mit einer einfachen select-Abfrage, die kompiliert (habe diese Prozedur format durch googeln).

So rufen Sie eine gespeicherte Oracle-Prozedur (PL/SQL) aus .NET?

Lief ich die gespeicherte Prozedur im SQL-Eingabeaufforderung von XE-Dashboard selbst. Das Ergebnis war:

So rufen Sie eine gespeicherte Oracle-Prozedur (PL/SQL) aus .NET?

Nun schrieb ich code in C# zu nennen, dass die gespeicherte Prozedur:

string sqlCon = "Data Source=xe;Persist Security Info=True;User     ID=sa;Password=password;Unicode=True;Provider=OraOLEDB.Oracle;";
OleDbConnection Con = new OleDbConnection(sqlCon);
OleDbCommand cmd = new OleDbCommand();

DataSet ds = null;
OleDbDataAdapter adapter;

try
{
    Con.Open();
    ////Stored procedure calling. It is already in sample db.
    cmd.CommandText = "TESTPROC";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Connection = Con;

    ds = new DataSet();
    adapter = new OleDbDataAdapter(cmd);
    adapter.Fill(ds, "Users");

    return ds.Tables[0];
 }
 catch (Exception ex)
 {
    throw new Exception(ex.Message);
 }

Diesen code-block nicht werfen keine Ausnahmen. Es hat ausgeführt, aber was ich erhielt, war ein leerer Datensatz. Aber wenn ich versuchte, Sie zum abrufen von Daten mit dem query direkt bekam ich das Ergebnis.

So, ist so, wie ich bin versucht, den Zugriff auf die gespeicherte Prozedur korrekt? oder gibt es irgendwelche Fehler in meinem gespeicherte Prozedur? Kann jemand darauf hinweisen, die Fehler oder die beste Weg, dies zu tun?

Vielen Dank im Voraus.

InformationsquelleAutor Vipin Menon T P | 2012-10-04

Schreibe einen Kommentar