Laden...

ORA-00903: Ungültiger Tabellenname

Erstellt von zerberos vor 15 Jahren Letzter Beitrag vor 15 Jahren 8.266 Views
Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren
ORA-00903: Ungültiger Tabellenname

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?

4.221 Beiträge seit 2005
vor 15 Jahren

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...

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

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....

J
3.331 Beiträge seit 2006
vor 15 Jahren

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

L
49 Beiträge seit 2004
vor 15 Jahren

bin mir nicht sicher, aber braucht nicht einen Schema-Namen vor der Tabelle:

Select * FROM MeinSchema.DATEN

Gruss

1.200 Beiträge seit 2007
vor 15 Jahren

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!

3.825 Beiträge seit 2006
vor 15 Jahren

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

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

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?

1.200 Beiträge seit 2007
vor 15 Jahren
MessageBox.Show(daadapter.UpdateCommand.CommandText);

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

danke hat sich erledigt...

D
7 Beiträge seit 2007
vor 15 Jahren

danke hat sich erledigt...

Und was war nun das Problem? Vielleicht stehen andere ja auch mal an dem Punkt!