CSV-Daten in Oracle importieren (Apex / SQL Developer testen)

8

Ich habe das anfangs auf Superuser gestellt, aber jemand hat mir geraten, hier erneut zu veröffentlichen.

Ich verwende aktuelle Versionen von APEX (4.1.1) und Oracle (11.2.0.3).

Ich lade CSV-Daten in eine Reihe von Tabellen hoch. Ich habe es ausprobiert und stoße auf einige Probleme, die ich vorher noch nicht gesehen habe.

Als Beispiel habe ich versucht, Daten in diese Tabelle zu importieren:

%Vor%

Es schlägt bei dieser vereinfachten Datenteilmenge fehl:

%Vor%

(Es schlägt auf einem größeren Datensatz genauso fehl) Ich kann es nicht mit APEX oder SQL Developer wie folgt laden:

  • APEX: Mit APEX Data Workshop, Text importieren, vorhandene Tabelle laden, Komma trennen, die Tabelle und die Datei auswählen, das Kontrollkästchen für 'Kopfzeile' ankreuzen, und wir haben das Spaltenzuordnungsformular, das die richtigen Daten anzeigt. Setzen Sie dann alle Spalten außer engine_no und engineername auf "Nein" und klicken Sie auf Daten laden.

Dies scheint zu funktionieren und zeigt eine Zusammenfassungszeile im Textdatenlade-Repository an, aber bei der Überprüfung wurden 0 Zeilen geladen und 79 fehlgeschlagen. Ein Klick auf die 79 zeigt, dass alle unter "ORA-01008: nicht alle Variablen gebunden" gelitten haben. Die ausgewählten Spalten sehen für mich OK aus, also frage ich mich, ob es trotz der "Nein" -Einstellungen noch einige andere enthält?

Das Problem tritt nicht auf, wenn ich den csv bearbeite, um irrelevante Spalten vor dem Hochladen zu entfernen, aber es wäre viel einfacher, wenn ich die Spaltenzuordnung verwenden könnte.

  • SQL Developer: Ich benutze den Assistenten zum Importieren von Daten in SD. Ich finde, dass die Spaltenzuordnung nur dann fortgesetzt wird, wenn Headerzeile aktiviert ist (die Schaltfläche ist zwar aktiviert, funktioniert aber nicht - warum nicht?), aber falls ja wird überprüft (in diesem Fall korrekt), dann schlägt der Verify-Schritt fehl, weil "Tabellenspalte Engineer_no nicht groß genug ist ...".

Ich habe festgestellt, dass dies durch Entfernen der Header-Werte aus den Spalten der CSV-Datei überwunden werden kann. Es scheint also, dass das Setzen des Kopfzeilenzeilen-Kontrollkästchens nicht dazu führt, dass es die Kopfzeile überhaupt ignoriert, und es der Kopfzeilenwert 'Ingenieur-Nein' ist, der den Fehler verursacht. Was mir nicht richtig erscheint. Ich habe beide Ansätze in der Vergangenheit ohne Probleme verwendet und frage mich, ob das jüngste Upgrade etwas damit zu tun hat.

Irgendwelche Ideen? Oder fehlt mir etwas offensichtlich?

    
boisvert 30.03.2012, 10:29
quelle

3 Antworten

2

Ein Kollege von mir findet diese (nicht total befriedigende) Lösung:

Wenn die benötigten Spalten beide am Anfang stehen, funktioniert es wie folgt:

%Vor%

So sieht es aus wie ein Fehler mit der Ja / Nein-Funktion im APEX-Text-Import?

    
boisvert 30.03.2012, 11:52
quelle
0

In CSV

%Vor%

Sie haben 11 Spalten und versuchen, sie in 3 Spalten zu importieren.

  1. Wenn Sie "in csv haben, sollten Sie alle löschen.
  2. Sie müssen genau 11 Spalte in der Tabelle für diese CSV haben.
  3. Jede Spalte in der Tabelle könnte den richtigen Datentyp haben.
  4. Jeder, in CSV ist ein Spaltentrennzeichen.
Kristian Aleksiev 26.04.2016 08:01
quelle
0

Ich bin mir nicht ganz sicher, warum es für dich nicht funktioniert hat. Es funktionierte gut für mich, den Apex Data Workshop mit Kopieren und Einfügen verwenden. (Version 5.0.4)

Natürlich konnte ich nur zwei dieser drei Ergebnisse hochladen, einer davon hatte einen doppelten ID-Wert. Aber es hat funktioniert.

PS: Für den größeren Datensatz, in dem Sie "," als Teil des Spaltenwerts für eine Zeile verwenden können, sollten Sie die Option "Optional eingeschlossen von" in Betracht ziehen, indem Sie sie während des Uploads in doppelte Anführungszeichen (") setzen Der Assistent behandelt den gesamten Wert als einen Wert.

    
Blurryface 14.06.2017 20:59
quelle

Tags und Links