Wenn man seine SQL's korrekt mit Parametermarkern und Parameterdefinitionen durchführt, kann dieser Fehler eigentlich nicht vorkommen.
Ist das Zielfeld ein SBCS (CCSID 273 o.ä.), sollte der Parameter als "adVarChar" definiert werden.
In diesem Fall konvertiert der OLEDB-Treiber MSDASQL (der bei ODBC verwendet wird) bereits den String von Unicode in SBCS-ANSI, ohne Fehlermeldung mit Ersatzzeichen (x'3F' = ?).
Wird der Parameter als adVarWChar übergeben erfolgt die Konvertierung erst im ODBCTreiber, da der MSDASQL einen Unicode-String weitergibt.
Ähnliches gilt auch bei der Verwendung des IBMDASQL an Stelle des ODBC-Treibers.