[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    163

    ODBC Zugriff aus EXCEL

    Guten Tag zusammen,

    seit mehr als einem Jahr läuft bei uns ein VBA Script in Excel, das Daten aus der AS/400 liest und daraus einen Report generiert. Der Zugriff erfolgt über ODBC. Nachdem das EXCEL auf einen anderen Server gespielt wurde, kann [B]eine[B] der angesprochenen Dateien nicht mehr gelesen werden.

    Code:
    strselect = "select * from SYSCHK.SYSCHK"
            With rsAS400
                .CursorType = adOpenForwardOnly
                .CursorLocation = adUseClient
                .Open strselect, conAS400
            End With
    Beim Open kommt die Fehlermeldung:

    Click image for larger version. 

Name:	SYSCHK_Fehler.JPG 
Views:	165 
Size:	18,4 KB 
ID:	254

    Während die Datei geöffnet werden soll, ist die Verbindung zur AS/400 aktiv. Andere Dateien werden problemlos geöffnet.

    Hatte jemand von Euch eine Idee, woran das liegen kann?

    Herzlichen Dank im Voraus

    Hubert

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da ist wie immer Raten angesagt.
    - Unterschiedliche Excel-Versionen
    - Unterschiedliche ADODB-Versionen

    Beim ClientCursor wird das Recordset komplett in den Speicher geladen.
    Ggf. kommt ADODB mit irgendeinem Feldtyp der Quelltabelle nicht zurecht, da diese angepasst werden müssen (z.B. max. Decimal(28, 4), kein BIGINT u.ä.).
    Versuche mal mit adUseServer da du ja nur vorwärts liest (ist ggf. auch noch schneller!).
    Dann stirbt er beim entsprechenden Satz.

    Über die ODBC-Konfiguration kannst du den Debug-Modus aktivieren und in das Joblog des QZDASOINIT-Jobs schauen.
    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
    Aug 2003
    Beiträge
    163
    Wie gesagt, auf dem alten Server läuft es immer noch, nur auf dem neuen nicht und es betrifft nur eine Datei. Der Zugriff auf andere Dateien im selben Verzeichnis funktioniert einwandfrei. Die Berechtigungen sind übrigens identisch. Das finde ich schon sehr mysteriös.

    Ggf. kommt ADODB mit irgendeinem Feldtyp der Quelltabelle nicht zurecht
    Die Datei hat ein Feld mit der Länge 132. In die Datei wird ein Spoolfile kopiert.

    Versuche mal mit adUseServer
    Das Öffnen geht dann fehlerfrei, aber beim ersten Zugriff aufs Recordset:

    Code:
            Do
                If rsAS400.EOF Then
                    Exit Do
                End If
    stürzt Excel komplett ab.

    Im Joblog des QZDASOINIT finde ich dann die Nachricht CPE3426:
    Eine Verbindung zu einem fernen Anschluß wurde durch diesen Anschluß zurückgesetzt.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Das ist schon seltsam.
    Die Datei wird mit Sicherheit CCSID 65535 aufweisen.
    Ist ggf. der Server selber in einer anderen Sprache (z.B. Englisch) und der alte in Deutsch installiert?
    Verwendest du eine ODBC-Verbindung und hast hier für Umsetzung 65535-umsetzung angehakt?
    Bist du sicher, das aktuelle Servicepack von CA installiert zu haben?
    Versuche mal die Daten per MS-Query (externe Daten) in Excel zu laden und prüfe das Ergebnis.

    Ggf. muss du doch das Feld mal per Cast in CCSID 273 konvertieren.
    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
    Aug 2003
    Beiträge
    163
    Die Server sind beide in Deutsch und haben das gleiche Servicepack von CA. Einen Unterschied habe ich jetzt gefunden: auf dem alten Server ist Excel 32 Bit und auf dem neuen 64 Bit. Gibt es auch einen 64 Bit Treiber?

    Die CCSID habe ich auf 273 angepasst, hat aber nichts gebracht.

    Das Geheimnis, warum die anderen Dateien geöffnet werden können: sie sind leer. Wenn die SYSCHK Datei leer ist, kann sie auch ohne Fehlermeldung geöffnet werden. Dann nutzt es mir aber nichts.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Es gibt zwar 64-Bit-Treiber, allerdings ist VBA immer in 32-Bit!
    Wichtig ist also die Einstellung beim ODBC, dass du auch eine 32-Bit-ODBC-Einstellung machst.
    Im Menü "IBM System i Access für Windows" findest du auch einen Link für die 32-Bit-ODBC-Verwaltung.

    Bisher habe ich da auch unter 64-Bit nie Probleme gehabt.
    Wenn du mal den Taskmanager aufrufst und die Office-Programme betrachtest (z.B. Excel.exe), so wirst du feststellen dass die alle unter 32-Bit laufen!
    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
    Aug 2003
    Beiträge
    163
    Hallo Baldur,

    es ist mir schon peinlich: ein Kollege hatte eine neue Installation mit CA 7.1 auf dem neuen Server durchgeführt, ohne mich zu informieren und hatte kein Service Pack installiert. Nachdem das Service Pack installiert war, lief es dann auch endlich.

    Herzlichen Dank für die Mühe, die du dir gegeben hast.

    Hubert

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Sowas passiert halt immer wieder.
    Eher eigentlich schade, dass CA noch nie ohne Servicepack funktionierte, egal welche Version.
    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

Similar Threads

  1. MS Access und ODBC Zugriff auf AS/400 DB
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 31-01-03, 17:32
  2. ODBC-Zugriff von Access-97 auf DB2
    By J.Kess in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-08-02, 16:05
  3. Antworten: 2
    Letzter Beitrag: 22-08-02, 08:27
  4. Zugriff MS Access auf AS/400 via ODBC
    By SL in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-07-02, 12:54
  5. ODBC Zugriff auf DB2 mit VBA
    By Bärnd in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 29-05-02, 16:58

Berechtigungen

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