[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    3

    Probleme mit JBuilder und AS/400 DB

    Hallo

    Ich habe ein kleines Problem!

    Im Rahmen einer Projektarbeitin meinem Praktikum habe ich einen
    Online-shop programmiert, der auf Servlets und JSP basiert. Die
    Datenbank dahinter hatte ich zur Entwicklungszeit auf Access laufen.
    Zu dem Shop hab ich mit JBuilder noch ein Tool gemacht, dass auf die
    Datenbanken zugreift und ich komfortabel den Datenbestand ändern kann.
    Weil die Praktikumsfirma ein AS/400 Systemhaus ist, sollte ich die
    Datenbank auf der AS/400 laufen haben. Die haben wir auch angelegt und
    habs auch in meinen Shop eingebunden, aber jetzt funkitoniert die
    Sache mit dem Wartungstool für die DBs nicht mehr :-( Habe ganz normal
    ein Database Komponente benutzt und dort den Treiber für die AS/400
    eingebunden. Dann habe ich ein QueryDataSet und dort die SQL Abfrage
    reingemacht. Angezeigt wird mir das in einer JdbTable.
    Er zeigt mir auch den Inhalt der Datenbank an, nur wenn ich was ändere
    und speicher will, kommt eine Fehlermeldung!

    Mit der Access DB gings prima nur mit der AS/400 irgendwie nicht und
    ich finde darüber nirgends infos.

    Könnt ihr helfen?

    Beim Einfügen einer Zeile in Tabelle "VL01TNIC"."NRMR00" ist ein
    Fehler aufgetreten bei klick auf weiter kommt dann

    [SQL7008] NRMR00 in VL01TNIC für Operation ungültig.

    Wenn ich auf Stack-Verfolgung klicke erscheint

    com.borland.dx.sql.dataset.ResolutionException: Beim Einfügen einer
    Zeile in Tabelle "VL01TNIC"."NRMR00" ist ein Fehler aufgetreten

    at com.borland.dx.sql.dataset.ResolutionException.a(U nknown Source)
    at com.borland.dx.sql.dataset.ResolutionException.b(U nknown Source)
    at com.borland.dx.sql.dataset.l.b(Unknown Source)
    at com.borland.dx.sql.dataset.QueryResolver.insertRow (Unknown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.c(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.d(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.d(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.saveC hanges(Unknown
    Source)
    at com.borland.dx.sql.dataset.ResolutionManager.saveC hanges(Unknown
    Source)
    at com.borland.dx.sql.dataset.Database.saveChanges(Un known Source)
    at com.borland.dx.sql.dataset.QueryDataSet.saveChange s(Unknown Source)
    at com.borland.dx.dataset.DataSet.saveChanges(Unknown Source)
    at
    com.borland.dbswing.JdbNavToolBar.actionPerformed( JdbNavToolBar.java:1799)
    at
    javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1450)
    at
    javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1504)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:378)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:250)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:216)
    at
    java.awt.AWTEventMulticaster.mouseReleased(AWTEven tMulticaster.java:230)
    at
    java.awt.AWTEventMulticaster.mouseReleased(AWTEven tMulticaster.java:230)
    at java.awt.Component.processMouseEvent(Component.jav a:3715)
    at java.awt.Component.processEvent(Component.java:354 4)
    at java.awt.Container.processEvent(Container.java:116 4)
    at java.awt.Component.dispatchEventImpl(Component.jav a:2593)
    at java.awt.Container.dispatchEventImpl(Container.jav a:1213)
    at java.awt.Component.dispatchEvent(Component.java:24 97)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:2451)
    at
    java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:2216)
    at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:2125)
    at java.awt.Container.dispatchEventImpl(Container.jav a:1200)
    at java.awt.Window.dispatchEventImpl(Window.java:914)
    at java.awt.Component.dispatchEvent(Component.java:24 97)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 339)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:131)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:98)
    at
    java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:85)

    Exception-Kette:

    java.sql.SQLException: [SQL7008] NRMR00 in VL01TNIC für Operation
    ungültig.
    at com.ibm.as400.access.JDError.throwSQLException(JDE rror.java:388)
    at
    com.ibm.as400.access.AS400JDBCStatement.commonExec ute(AS400JDBCStatement.java:640)
    at
    com.ibm.as400.access.AS400JDBCPreparedStatement.ex ecuteUpdate(AS400JDBCPreparedStatement.java:949)
    at com.borland.dx.sql.dataset.j.c(Unknown Source)
    at com.borland.dx.sql.dataset.l.b(Unknown Source)
    at com.borland.dx.sql.dataset.QueryResolver.insertRow (Unknown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.c(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.d(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.d(Unk nown Source)
    at com.borland.dx.sql.dataset.ResolutionManager.saveC hanges(Unknown
    Source)
    at com.borland.dx.sql.dataset.ResolutionManager.saveC hanges(Unknown
    Source)
    at com.borland.dx.sql.dataset.Database.saveChanges(Un known Source)
    at com.borland.dx.sql.dataset.QueryDataSet.saveChange s(Unknown Source)
    at com.borland.dx.dataset.DataSet.saveChanges(Unknown Source)
    at
    com.borland.dbswing.JdbNavToolBar.actionPerformed( JdbNavToolBar.java:1799)
    at
    javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1450)
    at
    javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1504)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:378)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:250)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:216)
    at
    java.awt.AWTEventMulticaster.mouseReleased(AWTEven tMulticaster.java:230)
    at
    java.awt.AWTEventMulticaster.mouseReleased(AWTEven tMulticaster.java:230)
    at java.awt.Component.processMouseEvent(Component.jav a:3715)
    at java.awt.Component.processEvent(Component.java:354 4)
    at java.awt.Container.processEvent(Container.java:116 4)
    at java.awt.Component.dispatchEventImpl(Component.jav a:2593)
    at java.awt.Container.dispatchEventImpl(Container.jav a:1213)
    at java.awt.Component.dispatchEvent(Component.java:24 97)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:2451)
    at
    java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:2216)
    at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:2125)
    at java.awt.Container.dispatchEventImpl(Container.jav a:1200)
    at java.awt.Window.dispatchEventImpl(Window.java:914)
    at java.awt.Component.dispatchEvent(Component.java:24 97)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 339)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:131)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:98)
    at
    java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:85)

    Was kann das sein?

    Danke schonmal Gruß Dirk

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    SQL7008 deutet darauf hin, dass die Table
    NRMR00 in der Lib VL01TNIC nicht journalisiert wird.

    Abhilfe:
    1. Table journalisieren (empfohlen!)
    2. Isolation Level auf NO_COMMIT stellen, entweder über die Connection, oder per Driver Properties beim Connect (Workaround)

    mfg

    Dieter Bender
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jun 2004
    Beiträge
    3
    Hi

    SQL7008 deutet darauf hin, dass die Table
    NRMR00 in der Lib VL01TNIC nicht journalisiert wird.

    Abhilfe:
    1. Table journalisieren (empfohlen!)
    2. Isolation Level auf NO_COMMIT stellen, entweder über die Connection, oder per Driver Properties beim Connect (Workaround)

    Ok ich bin da noch nicht so der Held.
    1. Table journalisieren? Ist das Java Geschichte oder AS/400 ?
    2. Selbe Frage AS/400 Sache?

    Könntest mir vielleicht noch einen weiter Anstoss geben?

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    journalisieren ist AS400 Geschichte (CRTJRNRCV...CRTJRN... STRJRNPF)

    isolation level ist Java Geschichte.
    entweder setTransactionIsolation() der Connection bedienen siehe auch:
    http://java.sun.com/j2se/1.4.2/docs/...onnection.html
    oder property an die url anhängen
    String url = "jdbc:as400://MyAs400/MyLib;transaction isolation=none";
    verwenden

    Dieter Bender

    PS: Siehe auch meinen Beitrag im Midrange Magazin zu Connection Pooling; bzw. meinen Beitrag im TechKnowLetter zu den JDBC Treibern der AS400.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Jun 2004
    Beiträge
    3

    Thumbs up

    oder property an die url anhängen
    String url = "jdbc:as400://MyAs400/MyLib;transaction isolation=none";
    verwenden


    Hab ich so probiert und funktioniert prima! Vielen vielen Dank

Similar Threads

  1. SQL-Performance Probleme ODBC
    By berndl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 13-10-06, 09:28
  2. Antworten: 6
    Letzter Beitrag: 26-07-06, 12:22
  3. Performance Probleme auf AS/400 im Batch
    By Dobby in forum IBM i Hauptforum
    Antworten: 24
    Letzter Beitrag: 16-02-05, 20:02
  4. IBM AS/400 SDK für ActiveX und OLE DB
    By OMS in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 26-02-01, 12:55

Berechtigungen

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