dorti Geschrieben 26. März 2004 Teilen Geschrieben 26. März 2004 Hallo zusammen! Ich hab folgendes Problem. Es sollen die Daten aus Dateien mit der Endung .DBF in eine Oracle-Datenbank hochgeladen werden. Das klappt mit dem SQL*Loader auch einwandfrei. Nur werden aber die Umlaute durch andere Zeichen ersetzt, was nicht passieren soll. Die DBF-Dateien kann ich mir auch in Excel ansehen, aber dort sind die Umlaute auch schon ersetzt. Kennt Ihr eine Möglichkeit in Excel, die Umlaute zu reparieren? Ich möchte das nicht, außer es nicht anders geht, in der Datenbank machen. Gruß dorti Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chweiss Geschrieben 28. März 2004 Teilen Geschrieben 28. März 2004 Hallo, erzähl doch noch ein wenig mehr über die Hintergründe. - Ausgangsdatei "*.dat" ist ASCII oder ANSI? type foo.dat zeigt Umlaute an? - Auf welchem OS liegt die DB? Befindet sich die DB auf dem gleichen Server, wo importiert wird (sql*loader)? - In Excel läßt Du Dir die Daten anzeigen? ODBC? - Wie sieht's in SQL*Plus aus? - Oracle Version? - NLS_LANG? Gruß, Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 29. März 2004 Teilen Geschrieben 29. März 2004 Hast du beim Erstellen der Datenbank einen bestimmten Zeichensatz angegeben? Wenn nicht, hat er dir eine Datenbank mit 7-bit Zeichensatz angelegt und die kann keine Umlaute aufnehmen. Da hilft dann nur neu anlegen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 31. März 2004 Autor Teilen Geschrieben 31. März 2004 Also, die Dateien mit der Endung .DBF stammen angeblich aus einer Fox Pro - Datenbank, die ich nicht angelegt hab. Ich kann sie also nicht einfach neu anlegen. In der Datenbank sind über 20000 Datensätze. Die Oracle-Datenbank läuft unter SLES 8 und befindet sich nicht auf dem gleichen Server wie die .DBF-Dateien. In Excel kann man sich die Daten anzeigen lassen, hab ich aber erst gemacht, als ich die Dateien auf meinen eigenen Rechner kopiert habe, dann kann man sie ganz normal in Excel öffnen. Und schon dort waren die Umlaute ersetzt. Ich hab mir es halt so vorgestellt, dass ich in Excel eine Option hab, Zeichensatz umstellen zum Beispiel, und dann regelt Excel das Problem. Aber so klappts wahrscheinlich nicht, oder? Hab die Daten auch vom eigenen Rechner mit dem SQL*Loader hochgeladen. Hab vorher die Dateiendung in .csv umgestellt. Hat alles problemlos bis auf die Umlaute geklappt. Auch in SQL*Plus sind die Umlaute ersetzt. Oracle-Version 9i nls_language = AMERICAN -> kann aber nicht daran liegen, Umlaute in anderen Anwendung werden auch angezeigt. Gruß dorti Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 1. April 2004 Teilen Geschrieben 1. April 2004 Original geschrieben von dorti nls_language = AMERICAN -> kann aber nicht daran liegen, Umlaute in anderen Anwendung werden auch angezeigt. Kann schon am NLS_LANG liegen bzw. es kann vielleicht behoben werden durch das "spielen" mit den NLS-Parametern. Was für ein Zeichensatz ist es denn genau also z.B. AMERICAN_AMERICA.WE8ISO8859P1 ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chweiss Geschrieben 1. April 2004 Teilen Geschrieben 1. April 2004 Poste doch bitte einfach mal ein, zwei Zeilen Deiner Daten. Einmal, - wie sie in in der Datei stehen, - wie sie in Excel daher kommen, - und wie es per Select mit SQL*Plus aussieht. Folgender Output wäre auch interessant "select * from nls_database_parameters". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 2. April 2004 Autor Teilen Geschrieben 2. April 2004 Also NLS_Characterset ist WE8ISO8859P1. Vier Datensätze in der mit Excel geöffneten DBF-Datei sehen so aus: 19.09.2003 Laut Hrn. xxx haben sie Oracle Version 9i schon im 19.09.2003 Einsatz, Speichervolumen g÷r?er 30GB, m÷chte infos. und auch 19.09.2003 einldaung zum Workshop, aber auch info auf der DOAG wõre 19.09.2003 sehr gut. Das gibt dann in der Oracle-Datenbank einen zusammengewürfelten Datensatz, der so aussieht: 19.09.03 Laut Hrn. xxx haben sie Oracle Version 9i schon im Einsatz, Speichervolumen g÷r?er 30GB, m÷chte infos. und auch einldaung zum Workshop, aber auc h info auf der DOAG wõre sehr gut. Alle Umlaute werden schon in der Excel-Datei ersetzt, also kann das doch nicht an der Oracle-Datenbank liegen. Ich verstehe das nicht so ganz. Ich speichere die .DBF-Datei doch in Excel unter .csv ab und lade sie dann erst in der Oracle-Datenbank. Wenn in Excel schon die Umlaute ersetzt sind, kann doch Oracle nichts dran ändern, oder? Gruß dorti Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 2. April 2004 Autor Teilen Geschrieben 2. April 2004 Ich hab jetzt ne Lösung, ist zwar nicht sehr elegant, aber sie funktioniert. In Excel gibt es die Möglichkeit, Buchstaben zu ersetzen. Geht recht flott, auch bei großen Dateien! Aber trotzdem vielen Dank für Eure Hilfe! Gruß dorti Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chweiss Geschrieben 2. April 2004 Teilen Geschrieben 2. April 2004 Sieht für mich nach dem guten, alten ASCII-/DOS-/OEM-Format aus. Wenn Du Dich an meine erste Frage erinnerst: - Ausgangsdatei "*.dat" ist ASCII oder ANSI? type foo.dat zeigt Umlaute an? Kannst ja nochmal googlen "convert dos ansi" und einen Status durchgeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.