Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Daten von MS-Access in Oracle ...





Frage

Hallo, wie kann ich Daten von MS-Access in Oracle exportieren?

Antwort 1 von SGD-Daniel1

Weiß denn keiner Rat?

Antwort 2 von loupus

hallo,

der klassiche Weg ist Export in Access, dann Import
in Oracle. Das ist natürlich nicht ganz so ohne Handarbeit zu machen und hängt von deinen Daten ab, d.h. manche Felddefinitionen anpassen.

Oder einfacher: Access -> MS-SQL-Server <- oracle
weil Oracle auf SQL-Server zugreifen kann. Dafür brauchst du natürlich ODBC-Treiber und MS-Sql-Server.

Viel Spaß

Antwort 3 von OmaDuck

Hallo Daniel,

ich habe das Problem ewig nicht gehabt. Vielleicht hat einer ´ne bessere Idee.
Man könnte die access-daten in excel-csv exportieren und dann mit sqlload in oracle importieren. So habe ich das früher mal gemacht und es lief auch ganz gut.

mfg
OmaDuck

Antwort 4 von SGD-Daniel1

Wo findet man das "sqlload" in Oracle?

Antwort 5 von SGD-Daniel1

"sqlldr.exe"

wenn das gemeint ist, sind das die ganzen Syntaxe.

Aber wie baue ich eine Verbindung zu Access auf oder wo befinden sich den die Dateien, die man importieren will?

Antwort 6 von OmaDuck

Hallo,
zu sqlldr gibt es ein handbuch bzw. sieh in OTN nach. Automatisiert habe ich sowas noch nicht gemacht. Der zuFussAblauf ist :
access:
Datei
Exportieren Tabelle
Excel :
--> Tabelle als csv speichern
oracle:
Tabelle anlegen (create table)
sqlldr laufen lassen
fertig

Antwort 7 von SGD-Daniel1

Bis "create tabel" bin ich angekommen.

Nun will ich das sqlldr "laufen" lassen, bringt er mir ein Fehler in Zeile 1:

CSV-Datei:

z.B.: 13,Hallo,"Ort"

ist dabei was falsch?

Antwort 8 von OmaDuck

Hallo,
Deine Daten scheinen mit der Tabelle nicht überein zu stimmen.
Hast Du log-datei und bad-datei mal angesehen? sqllldr ist ein ziemlich mächtiges programm, du kannst sehr viel einstellen.
Hast Du die ctl-datei geprüft?

meine sieht in etwa so aus:
load data
characterset WE8ISO8859P1
INFILE ´/daten/daten1/tab.csv´
INSERT
INTO TABLE deinetab
FIELDS TERMINATED BY ´;´
TRAILING NULLCOLS
(feld1,feld2,feld3 ....)

Antwort 9 von SGD-Daniel1

Kann ich dir Control-Datei selbst erstellen?

Antwort 10 von OmaDuck

die musst Du sogar selbst erstellen, woher soll oracle wissen was du importieren willst?

Antwort 11 von SGD-Daniel1

Ah, hat funktioniert. Jetzt suche ich gerade nach den eingetragenen Daten.

Wenn man auf Datenbankobjekte geht und dann auf die Tabelle klickt, sieht man nur die Struktur, aber nicht die Daten! WO finde ich die?

Antwort 12 von OmaDuck

Bist Du im Enterprise Manager?
wenn ja, rechte Maustaste Tabellendaten editieren

wenn nein, select * from tabelle

Antwort 13 von SGD-Daniel1

Ja, Enterprise Manager!

Beides kann ich aber icht bei "Datenbankobjekte -> Tabellen" ausführen.

Sondern?

Antwort 14 von OmaDuck

Du gehst auf Schema
Tabelle
Schemaname

dann bekommst Du die Tabellen, die dem Schema gehören angezeigt.

rechts ist eine Liste der Tabellen
dann rechte Maus
TabellendatenEditor

Antwort 15 von SGD-Daniel1

Die letzten drei Zeilen von dir kann ich weder finden noch ausführen.

Bei mir erstellt sich unten die Tabellenliste!

Antwort 16 von SGD-Daniel1

Habe was gefunden ... unten steht "Aktion" ... gehe dort auf "Daten anzeigen ... und was sehe ich da? Die Tabelle ist leer. Also hat der Import nicht funktioniert! :(

Antwort 17 von SGD-Daniel1

es klappt!

Antwort 18 von SGD-Daniel1

Wie kann ich die Dateninhalte löschen?

Antwort 19 von OmaDuck

sql

delete * from table

Antwort 20 von SGD-Daniel1

Das SQL-Eingabefeld muss ich erstmal bei Oracle suchen.

*.xls in *.csv exportieren geht wie?

Antwort 21 von OmaDuck

Sql Worksheet ist am rechten Rand im OEM tools unter Datenbankanwendungen

in excel
"speichern unter"
als Datenformat .csv wählen

Antwort 22 von SGD-Daniel1

Ich finde nur iSQLplus und SQL-Historie :(

Antwort 23 von OmaDuck

iSQLPlus muss auch sowas sein
ruf es einfach mal auf
wenn die Frage nach connectstring kommt und der >SQL erscheint bist Du richtig

Antwort 24 von SGD-Daniel1

Besten DANK!!!!

Antwort 25 von SGD-Daniel1

Hm, bei 125 Datensätzen hört er auf, weitere Einträge in die Tabelle zu tätigen! :(

Antwort 26 von OmaDuck

Hast Du eine maximalzahl abgewiesener Sätze festgelegt ?
sieh mal in die dateien .bad .log und .dis

wenn Du das nicht getan hast, setzt der loader einen default ich weiß aber nicht wie der ist

Antwort 27 von OmaDuck

Oma fährt jetzt nach Hause zu Hund und Strickzeug
weitere Fragen werden erst morgen beachtung finden

Antwort 28 von SGD-Daniel1

*** Hast Du eine maximalzahl abgewiesener Sätze festgelegt ?
sieh mal in die dateien .bad .log und .dis ***

Wo kann man das einstellen?

Antwort 29 von OmaDuck

google mal nach sqlldr
ich hab´ heute absolut keine zeit

Antwort 30 von SGD-Daniel1

load=n lade maximal n Datensätze

Da ist doch das interessant oder?

Aber wenn ich mich in sqlldr einlogge, will er nur den control=.... !!