Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bitte Dringend: Datenexport mit Umlauten

514 views
Skip to first unread message

Marcel Berneaud

unread,
Feb 18, 2001, 8:24:20 AM2/18/01
to
Hallo,

ich möchte mit dem Daten aus einer Tabelle exportieren. Die Daten enthalten
allerdings Sonderzeichen (ä, ü, ö usw..)! Wenn ich mit dem Export-Assi
arbeite klappt das nicht, egal ob ich als Ziel eine Textdatei, eine
Excel-Tabelle, eine andere SQL-Server Tabelle oder sonst ein Ziel verwende.
Die Systemumgebung ist WinNT4.0 (englisch), SQL-Server (englisch)! Ich habe
es mit dem Enterprise Manager lokal und von einer deutschen W2k Workstation
versucht (mit deutschem Enterprise Manager). Der Zeichensatz auf dem Server
ist Deutsch (Systemsteuerung NT) bzw. Unicode (bei der SQL Server
Installation).

Kann mir da jemand einen Tipp geben?

Danke

Marcel


Olaf Pietsch

unread,
Feb 18, 2001, 10:00:06 AM2/18/01
to
Hallo,
leider kein Tip, auch noch nicht so erlebt.
Welche Code Page hat der SQL-Server denn (siehe EM, Server Properties -
Eigenschaften) (für den SQL-Server Zeichensatz = deutsch ist mir so nicht
bekannt, ich kenne z. B. ISO code page 1252, MS-DOS Latin1 850) ? denn ich
nehme an, du exportierst tatsächlich varchar und nicht nvarchar Datentypen.
Könntest Du bitte ein kleines Beipiel posten, wie äöü in ein ASCII-Flatfile
geschrieben wird.
Olaf


"Marcel Berneaud" <MBer...@skillportal.de> schrieb im Newsbeitrag
news:#USFe5amAHA.2128@tkmsftngp03...

Marcel Berneaud

unread,
Feb 18, 2001, 10:49:42 AM2/18/01
to
Hallo,

es ist der Datentyp varchar. SQL-Server Zeichensatz ist Unicode.
Das Beispiel kann ich leider erst morgen (Montag) posten, weil ich ja
momentan nicht in der Firma bin.
Danke einstweilen für die Rückantwort.

Marcel

"Olaf Pietsch" <Olaf_P...@t-online.de> schrieb im Newsbeitrag
news:O$MabvbmAHA.1916@tkmsftngp03...

Olaf Pietsch

unread,
Feb 18, 2001, 11:28:09 AM2/18/01
to
Hallo Marcle,
Der Unicode Zeichensatz gilt aber nur für die Datentypen mit dem n vorne
dran, also nchar, nvarchar, ntext.
Es gibt somit eigentlich 2 Zeichensätze je Server.
Für die char, varchar usw. Typen ist die Sql-Server Einstellung maßgebend.

Olaf
"Marcel Berneaud" <MBer...@skillportal.de> schrieb im Newsbeitrag
news:#dhIrKcmAHA.1404@tkmsftngp05...

Marcel Berneaud

unread,
Feb 19, 2001, 1:17:57 PM2/19/01
to
Hallo,

also folgende Info's:
- Die Codepage ist "CP 850" (im SQL-Server)!
- Das Feld in der Tabelle hat den Datentyp "varchar"
- Wenn ich den DTS benutze um die Daten in eine Textdatei zu exportieren
bekomme ich folgendes Aussehen der Daten (das sind natürlich jetzt erfundene
Beispiele):
>7367,1,2,"DE","Herr B"ll","","4","64025","Darmstadt","Hinter den Eichen 78"
>7368,3,3,"DE","HSC Software","","5","63303","Dreieich","Frankfurter Str.
169"
>7369,1,3,"DE","Bew"hrt KG","","6","63100","Idstein","Karl-May-Straáe 112"
Wie man sieht ist
ö = "
ä = "
ß = á
So sehen die Daten alle aus. Den gleichen Effekt habe ich wenn ich die Daten
mittels DTS in eine andere Tabelle in der gleichen DB übertragen will.
Mache ich das aber mit einer SQL-Anweisung (SELECT...INTO), dann
funktioniert alles einwandfrei. Leider sind Timestamps und sonstige Felder
in den Tabellen, die ich übertragen muss enthalten, deshalb ist das nicht so
trivial. Zudem sind die Tabellen in der neuen DB schon vorhanden.
- Die Systemeinstellungen auf dem Server selber (NT-Umgebung/Control
Panel/Regional Settings) ist "German".

Ich hoffe damit ein paar hilfreiche Infos gegeben zu haben.
Danke für alle Vorschläge.

Marcel

"Olaf Pietsch" <Olaf_P...@t-online.de> schrieb im Newsbeitrag

news:#gcjjgcmAHA.920@tkmsftngp02...

Olaf Pietsch

unread,
Feb 19, 2001, 1:50:31 PM2/19/01
to
Hallo,
ich hab es befürchtet ,die 850, der gute alte DOS...

Wir stellen nur den ISO 1252 (ANSI) ein und haben deshalb noch keine
Probleme beim Datenaustausch gehabt.

Der direkt Export nach Excel dürfte wohl in die Hose gehen, weil der
ANSI-Zeichensatz vorausgesetzt wird.
Aber Excel kann Text-Dateien im DOS-Zeichensatz importieren (Textfile Import
Wizard).
Möglichkeit: Als txt exportieren und in Excel über diese Option einlesen.

Dann gibt es noch das gute alte bcp -Kommando (Sql-Server Tools), siehe
ONLINE-Hilfe, Option -C code_page mit dem man Daten exportieren kann.

Leider kann ich es nicht ausprobieren, aber konvertiere doch per View oder
SELECT die Varchar () - Datenfelder in nvarchar() CREATE view export AS
SELECT ..., convert(nvarchar(50), Person ) As Person, ... und benutze dieses
View zum exportieren.

Wenn es der SQL 2000 wäre, könnte man collate zur Zeichensatzkonvertierung
verwenden.

Kann mich dunkel daran erinnern, da muß es eine WINAPI geben, die zwischen
ANSI und OEM-Zeichensatz Strings konvertieren kann, irgendetwas mit *OEM*,
aber keine Ahnung mehr.

Leider gehen mir nun die Ideen aus, hoffe, daß ich etwas zur Klärung
beitragen konnte.

Olaf


"Marcel Berneaud" <MBer...@skillportal.de> schrieb im Newsbeitrag

news:efGyOCqmAHA.1848@tkmsftngp02...

Marcel Berneaud

unread,
Feb 19, 2001, 5:17:53 PM2/19/01
to
Hallo Olaf,

vielen Dank für die Anregungen!
Ich werde den Umweg zu Excel mal probieren und wenn das nicht klappt die
Geschichte mit dem View (das ist kein Thema das Ding anzulegen).
Das mit der WinApi ist auch eine gute Idee.
Ich werde mal in der MSDN nachschauen. Ich kenne die Funktion zwar nicht,
aber wenn es sie gibt werde ich mir ein kleines C-Prog. schreiben.

Danke einstweilen! Ich melde mich wenn ich Ergebnisse habe.

Marcel


"Olaf Pietsch" <Olaf_P...@t-online.de> schrieb im Newsbeitrag

news:et32zUqmAHA.564@tkmsftngp03...

0 new messages