Stefan Koschke
2011-04-11 12:47:53 UTC
Hallo zusammen,
endlich habe es die Anwender eingesehen, ich darf mein Programm von
Access-Datenbanken nach SQL-Server umstellen.
Dafür habe ich mir ein Importtool geschaffen, welches per
INSERT INTO ... SELECT * FROM ... OPENROWSET(BULK...)... (
FORMATFILE=....) as Importdata
die Access-Daten umschaufelt.
Hierfür wird jeweils eine Textdatei mit den Daten und eine Formatdatei
übergeben.
Hier ein Beispiel Text:
8 Rödenthal Daniel Hatzel .....
9 Rödenthal Schule Rödental Mitte ....
und die xml-Formatdatei
<BCPFORMAT
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="5" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="6" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="7" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="8" xsi:type="CharTerm" TERMINATOR="\r\n"/>
</RECORD>
<ROW>
<COLUMN SOURCE="2" NAME="Kundennummer" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="3" NAME="Name" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="4" NAME="Adresse" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="5" NAME="PLZ" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="6" NAME="Ort" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="7" NAME="Zusatz" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="8" NAME="geloescht" xsi:type="SQLBIT"/>
</ROW>
</BCPFORMAT>
Kundennummer und name sind in der felddefinition gleich, auch in der
zugehörigen SQL-Tabelle.
Aber "Rödental" in der ersten Textspalte erscheint in beiden Datensätzen
korrekt, "Schule Rödental Mitte" in der zweiten Spalte hat einen
falschen Umlaut ö in der Datenbank!
Ich habe keine Ahnung, wo ich ansetzen könnte, hat jemand bitte eine Idee?
Ciao
Stefan
endlich habe es die Anwender eingesehen, ich darf mein Programm von
Access-Datenbanken nach SQL-Server umstellen.
Dafür habe ich mir ein Importtool geschaffen, welches per
INSERT INTO ... SELECT * FROM ... OPENROWSET(BULK...)... (
FORMATFILE=....) as Importdata
die Access-Daten umschaufelt.
Hierfür wird jeweils eine Textdatei mit den Daten und eine Formatdatei
übergeben.
Hier ein Beispiel Text:
8 Rödenthal Daniel Hatzel .....
9 Rödenthal Schule Rödental Mitte ....
und die xml-Formatdatei
<BCPFORMAT
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="5" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="6" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="7" xsi:type="CharTerm" TERMINATOR="\t"/>
<FIELD ID="8" xsi:type="CharTerm" TERMINATOR="\r\n"/>
</RECORD>
<ROW>
<COLUMN SOURCE="2" NAME="Kundennummer" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="3" NAME="Name" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="4" NAME="Adresse" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="5" NAME="PLZ" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="6" NAME="Ort" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="7" NAME="Zusatz" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="8" NAME="geloescht" xsi:type="SQLBIT"/>
</ROW>
</BCPFORMAT>
Kundennummer und name sind in der felddefinition gleich, auch in der
zugehörigen SQL-Tabelle.
Aber "Rödental" in der ersten Textspalte erscheint in beiden Datensätzen
korrekt, "Schule Rödental Mitte" in der zweiten Spalte hat einen
falschen Umlaut ö in der Datenbank!
Ich habe keine Ahnung, wo ich ansetzen könnte, hat jemand bitte eine Idee?
Ciao
Stefan