[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2010
    Beiträge
    54

    Unhappy ODBC Übergabe an AS400

    Hallo zusammen,

    wieso läuft mir ein Datensatz in einem Textfeld bei der Übergabe an die AS400 auf folgende Fehlermeldung

    Siehe Anhang

    Gruss und Danke
    Franz
    Angehängte Dateien Angehängte Dateien

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da muss wohl ein CCSID-Problem vorliegen.
    Anscheinend prüft die AS/400 nun "härter" auf gültige Daten.
    Was für ein Zeichen steht denn an Position 10?
    In einem anderen Thread gabs hier ein Problem mit dem "€"-Zeichen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Oct 2013
    Beiträge
    171
    Ja, da kommt man aber erst drauf, wenn man ganz genau schaut. Wenn man sich die drei Punkte ansieht, kommt einem der Abstand ein paar Pixel geringer vor als üblich. Es ist nämlich nur ein einziges Zeichen. Einige Microsoft Programme bieten Autoformatierung oder Autokorrektur, und da ist Default, dass aus drei Punkten ein einziges Zeichen zu machen. Das gibt es natürlich weder in CCSID 273 noch in 1141, dafür braucht man meines Wissens nach Unicode.
    Kann man den Microsoft Programmen aber abgewöhnen.
    Oder man konvertiert in ein Unicode-Feld, ersetzt das Zeichen durch drei Zeichen und konvertiert in sein normales DB-Feld.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2010
    Beiträge
    54
    Vielen Dank denke das ist der Ansatz den ich verstehe - habe dem MS-Programm "abgewöhnt" diese Korrektur zu m achen

    Gruss
    Franz

Similar Threads

  1. SQL Funktion ruft Serviceprogramm auf - Parameter übergabe
    By loisl in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 08-11-13, 16:37
  2. Datentransfer via ODBC AS400 + MS Access
    By kuetemaj in forum NEWSboard Windows
    Antworten: 8
    Letzter Beitrag: 11-12-08, 07:59
  3. Antworten: 2
    Letzter Beitrag: 22-08-02, 07:27
  4. Übergabe von Daten HTTP nach RPGLE
    By Bruno Jakob in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 28-02-02, 12:57
  5. AS400 ODBC und Dateinamen
    By hjwenzel in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-02-02, 08:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •