2011-01-11 30 views
0

Ich versuche, ein Dataset zu verwenden, um Informationen aus einer Oracle-Datenbank zu erhalten Ich habe meine Anwendung erstellen, aber ich erhalte diesen Fehler, Wie kann ich es lösen?Abrufen von Informationen aus einer Oracle-Datenbank

kann nicht konvertieren von 'System.Data.OracleClient.OracleCommand' auf ‚System.Data.SqlClient.SqlCommand

+2

Es scheint, dass Sie SQL- und Oracle-Klassen irgendwo mischen, aber würde helfen, wenn Sie etwas Code .... – Sparky

+0

Die Frage, warum versuchen Sie, OracleCommand zu SqlCommand zu konvertieren? – HABJAN

+0

Code anzeigen! Woher wissen wir, welchen Fehler Sie begangen haben, als Sie uns nicht zeigen? –

Antwort

0

Es gibt umfangreiche Informationen über die Oracle-Provider hier:

http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25312/building_odp.htm#CEGBBCEF

A Schnipsel aus dieser docs:

string sql = "select department_name from departments where department_id = " + 
     ":department_id"; 

OracleCommand cmd = new OracleCommand(sql, conn); 
    cmd.CommandType = CommandType.Text; 
    OracleParameter p_department_id = new OracleParameter(); 
    p_department_id.OracleDbType = OracleDbType.Decimal;  
    p_department_id.Value = 20;        
    cmd.Parameters.Add(p_department_id);      

    OracleDataReader dr = cmd.ExecuteReader(); 
    dr.Read(); 

    departments.Items.Add(dr.GetString(0)); 
0

Das Problem ist, dass Sie eine OracleDBCommand zu werfen sind versucht, das heißt, ein Befehl tha t ist spezifisch für Oracle zu einem SQLCommand, dh ein Befehl, der für SQLServer spezifisch ist.

Wenn Sie abstrahieren möchten, müssen Sie stattdessen in die DBCommand-Klasse umwandeln. DBCommand ist die Basisklasse für alle Befehlsklassen für bestimmte Provider-Befehlsklassen.

Verwandte Themen