Gemäß der Microsoft SSMA-Hilfeanleitung ist SSMA nur mit MySQL ODBC 5.1 Driver (vertrauenswürdig) kompatibel.
Ich habe MYSQL ODBC von 5.3 auf 5.1 heruntergestuft und es hat funktioniert.
MySQL ODBC 5.1 ~ Verbindung Ссылка
Ich verwende SSMA für MySQL, um von MySQL nach MSSQL zu migrieren, und an mehreren Tabellen bekomme ich den Fehler 22018. Nach vielen Muckings habe ich festgestellt, dass der Fehler aufgrund von russischen Zeichen in diesen Tabellen erzeugt wurde.
Zum Beispiel: Бухгалтерский учет
Es gibt andere nicht-englische Zeichen in den Tabellen, z. B. Profissão Jurídica
, und sie kommen über OK.
Der Fehler ist mit der Sortierung zu tun und die Sortierung in der MySQL-Tabelle ist latin1_swedish_ci
und die Spalte, die die "fremden" Zeichen enthält, hat utf8_unicode_ci
Sortierung und ist ein varchar(255)
.
Die Empfängertabelle in MSSQL verwendet die Standardsortierung der Datenbank ( Latin1_General_CI_AS
) und die Empfängerspalte ist nvarchar(255)
.
In SSMA wird die Zeichensatzzuordnung für latin1
auf den Standardwert CHAR/VARCHAR
gesetzt, und ich habe versucht, dies auf NCHAR/NVARCHAR
ohne Erfolg zu setzen. Die Typzuordnung für varchar
wird für alle Instanzen auf nvarchar
gesetzt.
Das einzige, was einer Antwort, die ich gefunden habe, nahe kommt, ist dieses Posting . Wenn ich nicht den Punkt der Antwort verpasse, kann ich nicht sehen, dass es eine fehlende Konvertierung gibt - oder gibt es?
Nachdem ich buchstäblich stundenlang versucht habe herauszufinden, warum es nicht funktioniert habe, fand ich die Lösung, als ich anfing aufzugeben und eine verknüpfte Tabelle in Access für die dann eine Pass-Through-Abfrage in MSSQL zu verwenden.
Ich habe den falschen ODBC-Treiber verwendet. Es stellt sich heraus, dass 2 MySQL ODBC Treiber installiert sind, ein ANSI
und ein Unicode
Treiber. Ich habe ANSI
verwendet. Als ich es in Unicode
getauscht habe, war alles gut!
Gemäß der Microsoft SSMA-Hilfeanleitung ist SSMA nur mit MySQL ODBC 5.1 Driver (vertrauenswürdig) kompatibel.
Ich habe MYSQL ODBC von 5.3 auf 5.1 heruntergestuft und es hat funktioniert.
MySQL ODBC 5.1 ~ Verbindung Ссылка
Nachdem ich buchstäblich stundenlang versucht habe herauszufinden, warum es nicht funktioniert habe, fand ich die Lösung, als ich anfing aufzugeben und eine verknüpfte Tabelle in Access für die dann eine Pass-Through-Abfrage in MSSQL zu verwenden.
Ich habe den falschen ODBC-Treiber verwendet. Es stellt sich heraus, dass 2 MySQL ODBC Treiber installiert sind, ein %code% und ein %code% Treiber. Ich habe %code% verwendet. Als ich es in %code% getauscht habe, war alles gut!
Ich verwende SSMA für MySQL, um von MySQL nach MSSQL zu migrieren, und an mehreren Tabellen bekomme ich den Fehler 22018. Nach vielen Muckings habe ich festgestellt, dass der Fehler aufgrund von russischen Zeichen in diesen Tabellen erzeugt wurde.
Zum Beispiel: %code%
Es gibt andere nicht-englische Zeichen in den Tabellen, z. B. %code% , und sie kommen über OK.
Der Fehler ist mit der Sortierung zu tun und die Sortierung in der MySQL-Tabelle ist %code% und die Spalte, die die "fremden" Zeichen enthält, hat %code% Sortierung und ist ein %code% .
Die Empfängertabelle in MSSQL verwendet die Standardsortierung der Datenbank ( %code% ) und die Empfängerspalte ist %code% .
In SSMA wird die Zeichensatzzuordnung für %code% auf den Standardwert %code% gesetzt, und ich habe versucht, dies auf %code% ohne Erfolg zu setzen. Die Typzuordnung für %code% wird für alle Instanzen auf %code% gesetzt.
Das einzige, was einer Antwort, die ich gefunden habe, nahe kommt, ist dieses Posting . Wenn ich nicht den Punkt der Antwort verpasse, kann ich nicht sehen, dass es eine fehlende Konvertierung gibt - oder gibt es?
Tags und Links sql-server mysql sql-server-migration-assi