Hallo,
ich versuche eine Tabelle in einer Oracle Datenbank mit Daten zu füllen
das mache ich so:
OracleDataAdapter daadapter = new OracleDataAdapter("Select * FROM DATEN", con);
OracleCommandBuilder cb = new OracleCommandBuilder(daadapter);
daadapter.Update(dte1);
Bei daadapter.Update(dte1); kommt die Meldung ORA-00903: Ungültiger Tabellenname
Die Tabelle ist aber vorhanden, da ich mit der selben Abfrage Daten aus der Tabelle abfragen kann. Was amche ich falsch?
Entweder die Tabelle existiert nicht auf der DB oder existiert nicht im DataSet.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Die Tabelle in der DB existiert ja da folgendes funktioniert:
OracleDataAdapter daadapter = new OracleDataAdapter("Select * FROM DATEN", con);
DataTable dt_tmp = new DataTable();
daadapter.Fill(dt_tmp);
Was meinst du mit existiert im DataSet nicht?
PS: Vorher mit Access hat das funktioniert. Deshlab wundert mich es das es jetzt nicht mehr geht....
Wenn Du beim Fill keinen Namen der DataTable angibst, erstellt der DbDataAdapter eine DataTable und vergibt selbst einen Namen, vielleicht dataTable1 o.ä. Zum Speichern musst Du diese DataTable angeben. Im ersten Beispiel verwendest Du dte1, im zweiten Beispiel dt_tmp. Irgendetwas stimmt also nicht.
Unklar ist auch, wozu der CommandBuilder erstellt wird, wenn er nicht benutzt wird. (In vielen Fällen ist er auch überflüssig, aber das hängt von der Gesamtkonstruktion und der Tabellen-Definition in der DB ab.))
Jürgen
bin mir nicht sicher, aber braucht nicht einen Schema-Namen vor der Tabelle:
Select * FROM MeinSchema.DATEN
Gruss
Die Fehlermeldung kommt von der DB.
So kann das auch nicht funktionieren:
OracleDataAdapter daadapter = new OracleDataAdapter("Select * FROM DATEN", con);
OracleCommandBuilder cb = new OracleCommandBuilder(daadapter);
daadapter.Update(dte1);
Ein Update ohne Schema?
Entweder du machst zuerst einen Fill oder ein FillSchema. Dann sollte das funktionieren.
Falls nicht, lass dir den UpdateCommand Text ausgeben und poste ihn hier.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hier hab ich Beispiele wie man Daten anlegt. Sind einfach auf Oracle zu ändern :
http://www.seven-c.de/files/DatenbankenHowto.htm
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Ja da steht das Schema vor also heißt:
OracleDataAdapter daadapter = new OracleDataAdapter("Select * FROM STDATA.DATEN", con);
Wie gesagt das abfragen von Daten funktioniert einwandfrei. Nur das einfügen nicht. Vorher hatte ich ja ne Access Tabelle, da hat das ganze funktioniert
Wie kann ich mit den den UpdateCommand Text ausgeben lassen?
MessageBox.Show(daadapter.UpdateCommand.CommandText);
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
danke hat sich erledigt...
Und was war nun das Problem? Vielleicht stehen andere ja auch mal an dem Punkt!