Hallo Forum,

ich habe eine DotNet-Anwendung. Diese erhält Daten aus unterschiedlichen Quellen und soll diese in eine oder mehrere i5-Tabellen schreiben.
Eines der Sonderzeichen ist zum Beispiel das Euro-Symbol (€).
Die CCSID der Zieltabellen ist jeweils 273.
Zum Speichern verwende ich die Update-Methode eines DBDataAdapter-Objektes. Dieses Verfahren funktioniert generell außer bei bestimmten Sonderzeichen.

Versuche ich, einen Datensatz zu speichern, der dieses Zeichen enthält, erhalte ich die Fehlermeldung:

Der Datenwert des Befehlsparameters [4] '' konnte aus anderen Gründen als einem Signaturübereinstimmungsfehler oder Datenüberlauf nicht konvertiert werden.

InnerException:
CWBZZ5014 Der Wert des Parameters "00005" konnte nicht in den Hostdatentyp umgesetzt werden.
CWBNL0107 - 4 Byte umgesetzt, 1 Fehler beim Beginn an Position 0 (scp=13488 tcp=273 siso=1 pad=0 sl=4 tl=20) gefunden
CWBNL0107 - 2 Byte umgesetzt, 1 Fehler beim Beginn an Position 0 (scp=1202 tcp=273 siso=1 pad=0 sl=2 tl=20) gefunden

Verwendet wird IBMDA400-provider
Sowohl
ForceTranslation=0
als auch
ForceTranslation=65535 (=Default)
brachten irgendwelche Änderungen.

Da ich die CCSID der Zieltabellen nicht ändern kann, wäre es mein Ziel, alle nicht umsetzbaren Zeichen als '?' darzustellen.

(Ein ähnliches Problem in diesem Forum hat:
Sonderzeichen können im SSIS-Paket auf SQL2008 nicht zur AS400 übertragen werden )

Ich habe jetzt den ganzen Tag recherchiert und experimentiert und bin für jede Hilfe dankbar.