[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2004
    Beiträge
    2

    ODBC - iSeries kein Update möglich

    Hallo,

    mein Problem ist das ich trotz *Change oder *ALL Berechtigung
    einer bestimmten Datei auf der iSeries keine Sätze anfügen kann.

    Auf die Bibliothek in der die Datei enthalten ist, habe ich ebenfalls
    *Change-Berechtigung.

    Code :

    Set rDB = OpenDatabase(Name, dbDriverComplete, False, "ODBC;DSN=Name")
    Set rRS = rDB.OpenRecordset("SELECT * FROM PO;", dbOpenDynaset)
    . . .
    rRS.AddNew <- hier wird spätestens der Fehler abgefangen
    ----------------------------------------------------------------------------
    Laufzeitfehler 3027
    Aktualisieren nicht möglich, Datenbank oder Objekt ist schreibgeschützt
    ----------------------------------------------------------------------------

    Wenn ich nun direkt dahinter die Updateable-Eigenschaft lese, erhalte ich
    für rDB den Wert "Wahr" und für rRS "Falsch".

    Auf andere Dateien in derselben Bibliothek mit denselben Berechtigungen ist ein
    anfügen problemlos möglich. Auch wird bei diesen Dateien das Updateable-Eigenschaft mit "Wahr" zurückgegeben.

    Lösungsversuche :

    1. Anfügen über verknüpfte Tabelle in Access -> nicht möglich
    2. Neuerstellen der Datei auf der iSeries -> keine Änderung
    3. Kopieren der Datei in eine andere Bibliothek -> keine Änderung
    4. Anfügen über SQL-Statement -> nicht möglich
    5. Berechtigungen geändert auf *ALL und zurück auf *CHANGE -> keine Änderung

    System-Infos :
    iSeries 170 - V4R4M0
    Client Access ODBC V4R5M0
    DAO 3.60
    MS ACCESS 2003 (neueste Patches)
    WinXP SP2 (auch mit WinXP SP1 getestet)

    Nun die Frage : Woran kann das Problem noch liegen ?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.370
    Prüfe, ob die Datei einen Unique-Key (auch in den LF's hat). Ist das nicht der Fall, kann DAO diese Datei nur als Snapshot öffnen.
    Ansonsten hilft nur ein QueryDef-Objekt das den INSERT-Befehl enthält:

    dim rQD as QueryDef
    set rQD = rDB.CreateQueryDef("InsPO", "insert into PO (F1, F2, F3, ...) values (?, ?, ?, ...)")

    rQD(0)=Wert1
    rQD(1)=Wert2
    rQD(n)=Wertn

    rQD.Execute
    .
    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
    Dec 2004
    Beiträge
    2
    Danke für die schnelle Anwort.

    Die Datei PO hatte in der PF keinen eindeutigen Schlüssel.

Similar Threads

  1. ODBC update
    By synus in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-06, 15:38
  2. Update via ODBC
    By mdhl in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-05-06, 13:27
  3. iSeries Access ODBC Driver und MS SQL Server ...
    By rcauchy in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 23-06-05, 13:28
  4. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43
  5. Zugriff von Access auf iSeries per ODBC
    By Unregistriert in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 14-01-05, 08:57

Berechtigungen

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