SQL Server-Migrationsassistent (SSMA): FEHLER [22018] [MySQL] [ODBC 5.3 (a) Treiber] [mysqld-5.1.51-community]

7

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?

    
TechyGypo 31.10.2014, 11:40
quelle

2 Antworten

26

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!

    
TechyGypo 03.11.2014, 10:11
quelle
0
___ tag123mysql ___ MySQL ist ein freies, relationales Datenbank-Managementsystem (RDBMS), das die strukturierte Abfragesprache (SQL) verwendet. Verwenden Sie dieses Tag NICHT für andere DBs wie SQL Server, SQLite usw. Dies sind verschiedene DBs, die alle SQL verwenden, um die Daten zu verwalten. ___ antwort43602595 ___

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 Ссылка

    
___ answer26711944 ___

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!

    
___ qstntxt ___

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?

    
___ tag123sqlserver ___ Microsoft SQL Server ist ein relationales Datenbankverwaltungssystem (RDBMS). Verwenden Sie dieses Tag für alle SQL Server-Editionen, einschließlich Compact, Express, Azure, Fast-Track, APS (früher PDW) und Azure SQL DW. Verwenden Sie dieses Tag nicht für andere Arten von DBMS (MySQL, PostgreSQL, Oracle usw.). Verwenden Sie dieses Tag nicht für Probleme bei der Software- und mobilen Entwicklung, es sei denn, es steht in direktem Zusammenhang mit der Datenbank. ___ tag123sqlservermigrationassi ___ SQL Server-Migrationsassistent ist ein Tool zur Automatisierung der Migration von einer Anzahl verschiedener Datenbanken (Oracle, Access, Sybase, MySQL) zur SQL Server-Plattform. ___ qstnhdr ___ SQL Server-Migrationsassistent (SSMA): FEHLER [22018] [MySQL] [ODBC 5.3 (a) Treiber] [mysqld-5.1.51-community] ___
Indiekoder 25.04.2017 05:48
quelle