Wie konvertieren von Zeichen in CCSID 65535
Meine Anwendung ist in VB.Net und ich bin mit dem Treiber von IBM Client-access für den Zugriff auf Daten auf der IBM iSeries-server.
Das problem ist, dass einige Zeichen werden nicht automatisch übersetzt, in CCSID 65535 (also das € - Zeichen) und die update/insert-Befehl fehlschlägt.
Ich weiß nicht, auf welcher Ebene das problem muss behandelt werden. Auf den ODBC-Treiber ? In den connection-string ? Oder müssen wir das erstellen eines conversion dll ?
Dank im Voraus für Eure Hilfe !
- Per definition CCSID 65535 "binäre" Daten und nicht umgewandelt werden sollte. Wenn Sie brauchen, um pull "- Charakter von " - Werte aus, es ist notwendig zu wissen, welche CCSID der Daten war, wenn es gespeichert wurde, als CCSID 65535. E. g., wenn es eine ASCII CCSID, wenn itwent, müssen Sie verwenden den gleichen ASCII CCSID, wenn Sie versuchen, Lesen Sie es wieder aus. Und wenn es CCSID 37 (US-Englisch), wenn es ging, es werden nur korrekt sein, wenn Sie es Lesen, als CCSID 37. CCSID 65535 ist allgemein eine schlechte Idee, die Einstellung zum speichern von Zeichendaten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie
BinAsChar=true
in der Verbindungszeichenfolge festgelegt. Möglicherweise müssen Sie auch festlegen, entwederCCSID
oderHost CCSID
auf einen, der gilt für Sie, die Standard-us 37 die USA/Kanada. Hier ist mehr info über Verbindung-Zeichenfolge-Parameter für DB2:http://msdn.microsoft.com/en-us/library/ee251805%28BTS.10%29.aspx
Einrichten des DSN mit den "iseries Access ODBC Driver" mit dem Fenster "ODBC-Verwaltung" - tool. In der Konfigurations-setup, wählen Sie die conversions-Registerkarte, und aktivieren Sie das Kontrollkästchen "Konvertieren von Binärdaten (CCSID 65535) text.