Sto usando SSMA per MySQL per migrare da MySQL a MSSQL e su diversi tabelle sto ottenendo l'errore 22018. Dopo un sacco di chiacchiere ho scoperto che l'errore veniva generato a causa dell'archiviazione di caratteri russi in queste tabelle.SQL Server Migration Assistant (SSMA): ERRORE [22018] [MySQL] [ODBC 5.3 (a) Driver] [mysqld-5.1.51-community]
Ad esempio: Бухгалтерский учет
Ci sono altri caratteri non inglesi nelle tabelle, come Profissão Jurídica
e stanno venendo attraverso OK.
L'errore è a che fare con le regole di confronto e il confronto sul tavolo MySQL è latin1_swedish_ci
e la colonna che contiene i caratteri "stranieri" ha utf8_unicode_ci
collazione su di essa ed è un varchar(255)
.
La tabella dei destinatari in MSSQL utilizza le regole di confronto predefinite del database (Latin1_General_CI_AS
) e la colonna del destinatario è nvarchar(255)
.
Nel SSMA mappatura charset per latin1
è impostato il valore predefinito di CHAR/VARCHAR
e ho provato avere questo set per NCHAR/NVARCHAR
senza successo. Il mapping di tipo per varchar
è impostato su nvarchar
per tutte le istanze.
L'unica cosa vicina a una risposta che ho trovato è this posting. A meno che non mi manchi il punto della risposta, non riesco a vedere che c'è una conversione mancante - o c'è?
Spero che questo funziona anche per me – dresh
funziona per me – dresh