[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2005
    Beiträge
    13

    CWB011 Ein an einen Systemaufruf übergebener Puffer kann die Rückgabedaten

    Hallo,

    ich habe eine AS400 mit Release V5R2M0 und lassen von einem Cliebt eine Anwendung gegen die DB2/400 laufen.
    Auf dem Client ist ebenfalls iSeries Access V5R2M0 mit Servicepack SI16915

    Bei einem Aufruf kommt folgende Meldung:
    Database Access Error Rc = 30200
    FEHLER BESCHREIBUNG : [IBM][Client Access Express ODBC-Treiber (32-Bit)]Spalte 7: CWB0111 - Ein an einen Systemaufruf übergebener Puffer kann die Rückgabedaten nicht aufnehmen

    Kann mir da jemand einen Tip geben?

    Gruß
    Reinhold

  2. #2
    Registriert seit
    May 2002
    Beiträge
    2.643

    cwb0111

    Hallo Reinhold,
    poste entweder hier Deine Emailaddresse oder schicke sie mir
    über private Nachrichten, dann sende ich eine Email.

  3. #3
    Registriert seit
    May 2005
    Beiträge
    13
    Hallo,

    hier meine E-Mail Adresse:
    rcramer@pi-ag.com

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Scheint ein Problem bei DBCS bzw. UNICODE-Daten zu sein.
    Mit welchen Methoden greifst du auf die AS/400 zu ?
    - verküpfte Tabelle
    - DAO
    - ADO
    Enthält deine Datenbank-Tabelle ggf. Felder mit CCSID 13488 ?
    Access/DAO kommt dann mit dem Feldtyp nicht zurecht.

    Wenn du native mit ADO zugreifst, gibt es da keine Probleme.
    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
    May 2005
    Beiträge
    13
    Ich die ODBC-Datenquelle definiert und das Programm greift mit SQL-Statement auf Physische Tabellen der iSeries zu.
    Die Tabellen haben alle die CCSID 273
    DAO und ADO kenne ich leider nicht.
    Native kann ich den Select nicht absetzen da er über mehrere Seiten gehen würde.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nunja, das Programm muss ja irgendwie die SQL-Statements ausführen.
    Dazu gibt es mehrere Methoden:
    ActiveX-Objekte á la ADO/DAO oder in C/C++ die nativen C-SQLxxx-Befehle.

    In ADO/DAO dürften diese Probleme nicht auftreten, da diese intern genügend Speicher bereitstellen.
    Verwendet man direkte C-Befehle muss das Programm nun mal Puffer bereitstellen und, wie die Meldung ja besagt, ist der Empfangspuffer für die 7. Spalte zu klein !
    Prüfe mal den Select, welches das 7. Feld ist, wie gross es ist und wieviel Puffer für SQLBindColumn/SQLGetData bereitgestellt wird.
    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

  7. #7
    Registriert seit
    May 2005
    Beiträge
    13
    Danke für die Hilfe, es liegt an der Programmierung. Ich habe festgestellt das eine 2k große Variable mit 2,5k gefüllt werden soll.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Für solche Fälle hilft z.B. SQLDescribeCol um entsprechenden Puffer anzulegen.
    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

Berechtigungen

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