[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2003
    Beiträge
    3

    Post Update AS400 Datenbank per OLEDB/ADO

    Hallo,

    ich versuche Daten aus einer Access-Datenbank per OLEDB/ADO in eine leere
    AS400-Datenbank zurückzuschreiben.
    Der umgekehrte Weg, die Daten von einer AS400-Datenbank per OLEDB/ADO in eine
    leere Access-Datenbank zu schreiben funktioniert übrigens klaglos.
    Ich verwende dafür folgenden Code

    Set cn400 = CreateObject("ADODB.Connection")
    cn400.Provider = "IBMDA400"
    cn400.Properties("data source") = "MyAs400"
    cn400.Open

    Set rs400 = CreateObject("ADODB.Recordset")
    Set cmd = CreateObject("ADODB.Command")

    Set cmd.ActiveConnection = cn400
    cmd.Properties("Updatability") = 1 + 2 + 4
    cmd.CommandText = "/QSYS.LIB/MyLib.LIB/MyFile.FILE(*FIRST, *NONE)"
    cmd.Parameters.Append cmd.CreateParameter("P1", adChar, adParamInput, 1)

    'Laut CA Toolkit soll nun die AS400 DB geöffnet werden
    Set rs400 = cmd.Execute(Rcds, Parms, adCmdTable)

    Nun erhalte ich folgenden auch im Systemprotokoll aufgelisteten Fehler


    23.05.2003 12:44:40.54 Client Access Communication
    Typ=Fehler
    [CWBCO1003]
    Winsock-Fehler, Funktion connect() hat 10061 zurückgegeben


    Dieser Fehler wird mir auch im VBA angezeigt. Im CA-Systemprotokoll folgen danach noch
    folgende Zeilen


    23.05.2003 12:44:41.50 Client Access Communication
    Typ=Informationen
    Verbindung angefordert für Server-Anwendung: Ferner Befehl (as-rmtcmd)

    23.05.2003 12:44:41.54 Client Access Communication
    Typ=Informationen
    [CWBCO1044]
    Ferne Adresse xxx.xxx.xxx.xxx wird verwendet

    23.05.2003 12:44:41.59 Client Access Communication
    Typ=Informationen
    [CWBCO1040]
    Verwendeter Modus bei der Suche nach fernem Port: Immer ferne Server-Zuordnungsfunktion verwenden

    23.05.2003 12:44:41.67 Client Access Communication
    Typ=Informationen
    [CWBCO1022]
    Ferner Port 8475 wird verwendet

    23.05.2003 12:44:42.22
    Typ=Informationen
    CPF9898 - REDIRECTOR NOT AVAILABLE ON THIS RELEASE.

    Kann irgendjemand damit etwas anfangen und mir auf die Sprünge helfe?. Dass es kein genereller
    Verbindungsfehler sein kann, wie die Winsock-Meldung m.E. nahelegt, geht für mich daraus hervor,
    dass ich ohne Probleme Daten von der AS400 übertragen kann. Weisst der CPF9898 Fehler darauf hin
    dass mir für die Durchführung dieser Funktion irgendetwas fehlt?

    Schon mal im voraus

    Vielen Dank

    Heinz-Peter

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Um Daten in die AS/400 zu schreiben verwendest du am besten einen SQL-Befehl:

    insert into mylib.myfile
    (F1, F2, F3, ...)
    values (?, ?, ?, ...)

    und dann per
    cmdobj.execute , array(Val1, Val2, Val3, ...) , adExecuteNoRecords

    die Daten übertragen.

    IBMDA400 unterstützt das Hinzufügen bzw. Ändern nicht bei einer Tabelle.
    Also auch einen Update per SQL durchführen:

    update mylib.mytable
    set F1=?, F2=?, F3=?, ...
    where K1=?, K2=?, ...

    und dann per
    dim mRecords as long
    cmdobj.execute mRecords, array(Val1, Val2, Val3, ..., Key1, Key2, ...) , adExecuteNoRecords
    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
    Feb 2001
    Beiträge
    20.241

    Post

    Einfacher gehts auch über Access, wenn du die Tabelle verknüpfst (Tabelle->Verknüpfen->ODBC).
    Dann brauchst du dich nicht mit ADO rumzuschlagen sondern kannst (fast) alles von Access nutzen (Abfragen, Anfügeabfragen, Beziehungsabfragen ....)

    [Dieser Beitrag wurde von Fuerchau am 23. Mai 2003 editiert.]
    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

  4. #4
    Registriert seit
    Dec 2000
    Beiträge
    73

    Smile

    Hallo Peter,

    bist Du jetzt unter die VB-Entwickler gegangen?
    Die Fehlermeldungen sehen mir dachach aus,
    daß die erforderlichen TCP Server nicht gestartet sind (*REXEC). Probier's mal
    mit STRTCPSVR SERVER(*REXEC).

    Viele Grüße, Dein Ex-Kollege (BLV)

    Christian

  5. #5
    Registriert seit
    May 2003
    Beiträge
    3

    Post

    Vielen Dank für eure schnellen Antworten

    Insbesondere der Tipp mit dem nicht gestarteten TCP-Server war sehr hilfreich,
    wenn es auch nicht der *REXEC, sondern der *DDM-Server war, der gefehlt hat.
    (vielen Dank Christian)
    Jetzt komme ich immerhin so weit, dass ich versuchen kann der Datenbank einen neuen
    Satz hinzufügen.
    Bei diesem Versuch bekomme ich nun aber die Meldung

    CPF5035 Datenabbildungsfehler in Teildatei XXXXXXXXX

    In der technischen Referenz finde ich dazu

    CPF5035: Datenumsetzungsfehler in Teildatei &1.

    Leider gibt es keinerlei Hinweis was es damit auf sich hat

    Alle Felder in der AS400-Tabelle sind als Alpha-Felder definiert. Was soll mir
    der genannte Fehler also sagen?

    PS. Hallo Christian, wenn Du Lust hast, melde dich doch mal. Die Telefon-Nr ist
    immer noch die alte


  6. #6
    Registriert seit
    May 2002
    Beiträge
    2.642

    Post

    Hallo Heinz-Peter,
    es wäre hier noch interessant welches
    Release auf der AS/400 und ob das
    Datenbankgruppenptf installiert ist ?

    Gruss TARASIK

  7. #7
    Registriert seit
    May 2003
    Beiträge
    3

    Post

    Das Problem hat sich inzwischen erledigt. Es lag an mit ISNull initialisierten Feldern in der ACCESS-Datenbank. Nachdem diese Felder in der Schnittstelle mit einem *Blank gefüllt wurden, klappte es endlich.

    Vielen Dank für eure Bemühungen

    Heinz-Peter

Similar Threads

  1. Dateien per FTP von IFS auf der AS400 holen
    By kroehn in forum NEWSboard Windows
    Antworten: 5
    Letzter Beitrag: 08-11-06, 19:36
  2. update per sql
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-09-06, 08:22
  3. Antworten: 1
    Letzter Beitrag: 24-04-06, 10:37
  4. Textdatei per FTP in AS400 Datei
    By hs in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 25-10-05, 08:33
  5. Update per SQL
    By jkuetema in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 09-03-05, 11:58

Berechtigungen

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