karline
Goto Top

SQL2005 DTS zwischen SQL Server mit unterschiedlicher Codepage

SQL 7.0 -> SQL2005

Hallo,

wir stellen von SQL 7.0 auf SQL2005 um. Um die Daten zu transferieren habe ich DTS-Jobs erstellt (mit dem Import - Wizzard). Nun ist es so, das der SQL 7.0 noch Codepage 850 verwendet und der SQL2005 mit der Standardt-Codepage installiert werden soll.
In der Onlinedokumentation von MS habe ich gefunden, das das Übertragen der Daten möglich ist, wenn man die Option Sortierung verwenden (use collation) = True setzt. Nun habe ich weder beim Wizzard noch bei den Properties in den VS diese Option gefunden.

Weiß jemand wo ich die finde oder hat einen Tipp für mich, wie ich die Daten (mit Umlauten) kopiert bekomme?


Besten Dank schon mal
Karline

Content-ID: 103710

Url: https://administrator.de/forum/sql2005-dts-zwischen-sql-server-mit-unterschiedlicher-codepage-103710.html

Ausgedruckt am: 22.12.2024 um 23:12 Uhr

CT-pfado
CT-pfado 12.12.2008 um 12:50:11 Uhr
Goto Top
Wie meinst du mit Umlauten? Unicode Zeichen?

Naja, mit Unicode Zeichen müssen die Spalten einfach als NVARCHAR oder NCHAR bezeichnet sein, dann kann man auch UNICODE Zeichen speichern.

Naja, wenn die Daten 1zu1 kopiert werden und das ganze nur einmal ausgeführt wird. Würde ich folgendermaße vorgehen:

1. Vom Management Studio die Queries erstellen lassen für die Creates der Tables und Views
2. Beim SQL-Server 2005 einen Linked-Server auf den alten SQL-Server 7 einrichten
3. Die Insert Queries schreiben mit einem Select darunter
BSP:
"INSERT INTO Test (value1, value2) SELECT value1, value2 FROM LINKEDSERVER.DATABASE.SCHEMA.Test")

Der Nachteil an dieser Version ist dass man die ganzen queries selbst schreiben muss. Aber als fauler Programmierer (wie ich) schreibt man sich dazu einfach ein kleines Programm welches das ganze Tabellenschema herausholt, die Query erstellt und das dann auf dem SQL-Server ausführt ;)

Und wenn du es mit DTS lösen willst, rate ich dir, verwende SSIS. Damit kannst du dir die ganzen Scripts automatisch erstellen lassen. Geht innerhalb von ein paar wenigen Minuten.
Karline
Karline 12.12.2008 um 13:03:26 Uhr
Goto Top
Hallo,

ich habe mit SSIS die Packages erstellt und die laufen jede nacht, solange bis wir denn auf Produktion umstellen. So haben wir jeden Morgen eine mit dem produktivserver fast identische Testumgebung.
Aber eben nur fast, da die Serverkonfiguration die Codepage bzw. Callation betreffend nicht die Selbe ist und für die Umlaute (Ä Ü Ö ß etc.) andere Sonderzeichen angezeigt werden.

MS hat zu diesem problem folgende Information:

http://support.microsoft.com/kb/325335/de

nur diese dort angebene Option "Sortierung verwenden" kann ich nirgnds finden face-sad

Hat die Option schon mal jemand verwendet oder noch jemand eine Idee, wie ich die Codepage umschreiben kann?

Danke
Karline
CT-pfado
CT-pfado 12.12.2008 um 13:08:45 Uhr
Goto Top
Naja, bei MS handelt es sich um DTS, bei dir geht es um SSIS.

Naja, du kannst ja die Collation bei den einzelnen Spalten umstellen wie es bei der SQL 7 DB eingestellt ist.
Karline
Karline 12.12.2008 um 13:51:12 Uhr
Goto Top
Ich dachte immer, die SSIS-Packages, die mit dem SQL Server Business Intelligence Development Studio erstellt werden sind die DTS Packages (das SSIS Packages der nachfolger sind) In der Anleitung schreibrt MS auch, das es auch SQL2005 betrifft... Aber vielleicht suche ich ja an der ganz falschen Stelle?

Auf dem Zielserver soll auf jeden Fall die neue Collation laufen, also müssen die Daten irgendwie transformiert werden. Die Spalten mit der alten Codepage zu definieren, heißt ja auch, das jeder Client die Codepage unterstützen muss.

Nach der oben genannten Hilfe liest es sich für mich so, als müßte ich nur eine "globale option" setzen, nur die habe ich eben nicht gefunden.