Announcement

Collapse
No announcement yet.

Konvertierung von MS-SQL Latin-1252 nach MySQL UTF-8

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Konvertierung von MS-SQL Latin-1252 nach MySQL UTF-8

    Hallo,
    ich muß eine Tabelle vom MSSQL-Server 2000 auf einen MySQL Server Ver. 4.1 kopieren. Die MSSQL-Datenbank ist in Latin-1252 kodiert und einige Spalten enthalten kyrillische Zeichen. Die entsprechenden Spalten in der MySQL Tabelle sind UTF-8 kodiert (muß auch so sein). Ich habe erstmal versucht, die Spalteninhalte auf folgendem Weg zu kopieren:
    <pre>

    for (i= ....

    UTF8Encoding utf8 = new UTF8Encoding(true);
    Byte[] encodedBytes = utf8.GetBytes(dsMSSQL.Tables[0].Rows[0][dsMSSQL.Tables[0].Columns[i].ColumnName].ToString());

    dsMySQL.Tables[0].Rows[0][dsMSSQL.Tables[0].Columns[i].ColumnName] = encodedBytes;

    </pre>

    Als Datenbankverbindung nutze ich beim MSSQL-Server der OLEDB Provider, beim MySQL Server den aktuellen DOTNET Connector von MySQL.
    <br>
    Das Problem ist, daß in den MySQL Spalten nach dem Konvertieren der Wert "System.Byte[]" (als String-Zeichenfolge) steht.
    Auch ein paar andere Versuche haben noch nichts (meistens Fragezeichen in den MySQL Spalten) gebracht.<br>
    Hat vielleicht jemand schon mal Erfahrungen mit so einer Konvertierung gesammelt ?<br>
    Danke, Hermann

  • #2
    Hallo,

    ich habe momentan das selbe problem.

    Hast du eine Lösung für das Problem gefunden ?

    cu Jan

    Comment


    • #3
      1, Für MS SQL geht man nicht über den den OLE DB Provider sondern übe SQL-Provider-Klassen des Frameworks

      2, Welche Daten kommen denn in deiner Anwendung von MS SQL-Server an um zu sehen was überhaupt der MS-SQL Provider aus den fremdcodierten Daten macht.

      3, Unter Win32 konnte man WideCharToMultiByte/MultiByteToWideChar für explizite Konvertierungen einspannen. Jedoch weiß ich nicht wie man das in .NET gewrappt hat bzw. ersetzt.

      Comment

      Working...
      X