[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    136

    Java JDBC Sperre

    Hallo,

    ich greife über JDBC auf Tabellen der i5 zu, klappt auch alles Super.
    Nur bleiben auf der i5 Sperren hängen, aber erst wenn ich das zweite mal auf die Datei zugreife, diese Sperre bleibt dann solange bestehen, bis das Programm endet.

    (wrkobjlck meineDatei *file)
    PHP-Code:
    Aus-                                                                       
    wahl   Job          Benutzer     Sperre    Status          Bereich   Thread
           QZDASOINIT   QUSER        
    *SHRRD     HELD           *JOB 
    PHP-Code:
    Connection con connector.getConnection();
        try {
            
    PreparedStatement ps con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps.execute()) {
            
    ResultSet rs ps.getResultSet();
            
    rs.next();
            
    rs.close(); // Hier ist die Sperre wieder weg
            
    ps.close();
            }
            
    PreparedStatement ps1 con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps1.execute()) {
            
    ResultSet rs ps1.getResultSet();
            
    rs.next();
            
    rs.close(); // Hier bleibt die Sperre aber bestehen
            
    ps.close();
            }
            
    PreparedStatement ps2 con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps2.execute()) {
            
    ResultSet rs ps2.getResultSet();
            
    rs.next();
            
    rs.close();
            
    ps.close();
            }
        } catch (
    SQLException e) {
            
    e.printStackTrace();
        } 
    Ist das normal?

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... SQL hat eine lazy close Strategie und ein ODP hält eine Sperre auf die Datei(en). Ein close auf die Connection schließt noch das ein oder andere, aber auch danach wäre ich mir nicht sicher, ob es noch Sperren gibt. ALCOBJ hat zwischendrin einen Parameter CONFLICT hinzubekommen und mit *RQSRLS kann man die dann vertreiben, falls man das braucht.

    D*B

    Zitat Zitat von Xanas Beitrag anzeigen
    Hallo,

    ich greife über JDBC auf Tabellen der i5 zu, klappt auch alles Super.
    Nur bleiben auf der i5 Sperren hängen, aber erst wenn ich das zweite mal auf die Datei zugreife, diese Sperre bleibt dann solange bestehen, bis das Programm endet.

    (wrkobjlck meineDatei *file)
    PHP-Code:
    Aus-                                                                       
    wahl   Job          Benutzer     Sperre    Status          Bereich   Thread
           QZDASOINIT   QUSER        
    *SHRRD     HELD           *JOB 
    PHP-Code:
    Connection con connector.getConnection();
        try {
            
    PreparedStatement ps con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps.execute()) {
            
    ResultSet rs ps.getResultSet();
            
    rs.next();
            
    rs.close(); // Hier ist die Sperre wieder weg
            
    ps.close();
            }
            
    PreparedStatement ps1 con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps1.execute()) {
            
    ResultSet rs ps1.getResultSet();
            
    rs.next();
            
    rs.close(); // Hier bleibt die Sperre aber bestehen
            
    ps.close();
            }
            
    PreparedStatement ps2 con.prepareStatement("SELECT * FROM DATEN01.PBEWERB");
            if ( 
    ps2.execute()) {
            
    ResultSet rs ps2.getResultSet();
            
    rs.next();
            
    rs.close();
            
    ps.close();
            }
        } catch (
    SQLException e) {
            
    e.printStackTrace();
        } 
    Ist das normal?
    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
    Sep 2004
    Beiträge
    136
    connection.close(); hat bisher immer die Sperren wieder freigegeben.

    Komisch ist nur, das bei ersten close(); die Sperren "immer" verschwinden und bei darauffolgenden hängen bleiben.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... typische caching Strategie: beim ersten Mal geht man davon aus, dass das eine Eintagsfliege war, beim zweiten Mal denkt man sich, das kommt noch öfter...

    D*B

    Zitat Zitat von Xanas Beitrag anzeigen
    connection.close(); hat bisher immer die Sperren wieder freigegeben.

    Komisch ist nur, das bei ersten close(); die Sperren "immer" verschwinden und bei darauffolgenden hängen bleiben.
    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
    Sep 2004
    Beiträge
    136

    Noch so ein JDBC ding

    Ich hab mir den LogWriter auf die Console ausgeben lassen.
    DriverManager.setLogWriter(new PrintWriter(System.out));
    funktioniert auch, aber warum hab ich da so ein Echo?
    Da kommt fast alles doppelt an.

    JdbcOdbcDriver class loaded
    registerDriver: driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.od bc.JdbcOdbcDriver@2d95b3]
    DriverManager.initialize: jdbc.drivers = null
    JDBC DriverManager initialized
    registerDriver: driver[className=com.ibm.as400.access.AS400JDBCDriver,AS/400 Toolbox for Java JDBC Driver]
    DriverManager.getConnection("jdbc:as400://QZSOES01;user=ID#DB;password=pw;")
    trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.od bc.JdbcOdbcDriver@2d95b3]
    *Driver.connect (jdbc:as400://QZSOES01;user=ID#DB;password=pw
    trying driver[className=com.ibm.as400.access.AS400JDBCDriver,AS/400 Toolbox for Java JDBC Driver]
    as400: Properties (12366398) : access = "all".
    as400: Properties (12366398) : access = "all".
    as400: Properties (12366398) : block size = "32".
    as400: Properties (12366398) : block size = "32".
    as400: Properties (12366398) : block criteria = "2".
    as400: Properties (12366398) : block criteria = "2".
    as400: Properties (12366398) : date format = "".
    as400: Properties (12366398) : date format = "".
    as400: Properties (12366398) : date separator = "".
    as400: Properties (12366398) : date separator = "".
    as400: Properties (12366398) : decimal separator = "".
    as400: Properties (12366398) : decimal separator = "".
    as400: Properties (12366398) : errors = "basic".
    as400: Properties (12366398) : errors = "basic".
    as400: Properties (12366398) : extended dynamic = "false".
    as400: Properties (12366398) : extended dynamic = "false".
    as400: Properties (12366398) : libraries = "".
    as400: Properties (12366398) : libraries = "".
    as400: Properties (12366398) : naming = "sql".
    as400: Properties (12366398) : naming = "sql".
    as400: Properties (12366398) : package = "".
    as400: Properties (12366398) : package = "".
    as400: Properties (12366398) : package add = "true".
    as400: Properties (12366398) : package add = "true".
    as400: Properties (12366398) : package cache = "false".
    as400: Properties (12366398) : package cache = "false".
    as400: Properties (12366398) : package clear = "false".
    as400: Properties (12366398) : package clear = "false".
    as400: Properties (12366398) : package error = "warning".
    as400: Properties (12366398) : package error = "warning".
    as400: Properties (12366398) : package library = "".
    as400: Properties (12366398) : package library = "".
    as400: Properties (12366398) : password = "".
    as400: Properties (12366398) : password = "".
    as400: Properties (12366398) : prefetch = "true".
    as400: Properties (12366398) : prefetch = "true".
    as400: Properties (12366398) : prompt = "".
    as400: Properties (12366398) : prompt = "".
    as400: Properties (12366398) : remarks = "system".
    as400: Properties (12366398) : remarks = "system".
    as400: Properties (12366398) : sort = "hex".
    as400: Properties (12366398) : sort = "hex".
    as400: Properties (12366398) : sort language = "ENU".
    as400: Properties (12366398) : sort language = "ENU".
    as400: Properties (12366398) : sort table = "".
    as400: Properties (12366398) : sort table = "".
    as400: Properties (12366398) : sort weight = "shared".
    as400: Properties (12366398) : sort weight = "shared".
    as400: Properties (12366398) : time format = "".
    as400: Properties (12366398) : time format = "".
    as400: Properties (12366398) : time separator = "".
    as400: Properties (12366398) : time separator = "".
    as400: Properties (12366398) : trace = "false".
    as400: Properties (12366398) : trace = "false".
    as400: Properties (12366398) : transaction isolation = "read uncommitted".
    as400: Properties (12366398) : transaction isolation = "read uncommitted".
    as400: Properties (12366398) : translate binary = "false".
    as400: Properties (12366398) : translate binary = "false".
    as400: Properties (12366398) : user = "ID#DB".
    as400: Properties (12366398) : user = "ID#DB".
    as400: Properties (12366398) : package criteria = "default".
    as400: Properties (12366398) : package criteria = "default".
    as400: Properties (12366398) : lob threshold = "32768".
    as400: Properties (12366398) : lob threshold = "32768".
    as400: Properties (12366398) : secure = "false".
    as400: Properties (12366398) : secure = "false".
    as400: Properties (12366398) : data truncation = "true".
    as400: Properties (12366398) : data truncation = "true".
    as400: Properties (12366398) : proxy server = "".
    as400: Properties (12366398) : proxy server = "".
    as400: Properties (12366398) : secondary URL = "".
    as400: Properties (12366398) : secondary URL = "".
    as400: Properties (12366398) : data compression = "true".
    as400: Properties (12366398) : data compression = "true".
    as400: Properties (12366398) : big decimal = "true".
    as400: Properties (12366398) : big decimal = "true".
    as400: Properties (12366398) : thread used = "true".
    as400: Properties (12366398) : thread used = "true".
    as400: Properties (12366398) : cursor hold = "true".
    as400: Properties (12366398) : cursor hold = "true".
    as400: Properties (12366398) : lazy close = "false".
    as400: Properties (12366398) : lazy close = "false".
    as400: Properties (12366398) : driver = "toolbox".
    as400: Properties (12366398) : driver = "toolbox".
    as400: Properties (12366398) : bidi string type = "5".
    as400: Properties (12366398) : bidi string type = "5".
    as400: Properties (12366398) : key ring name = "".
    as400: Properties (12366398) : key ring name = "".
    as400: Properties (12366398) : key ring password = "".
    as400: Properties (12366398) : key ring password = "".
    as400: Properties (12366398) : full open = "false".
    as400: Properties (12366398) : full open = "false".
    as400: Properties (12366398) : server trace = "0".
    as400: Properties (12366398) : server trace = "0".
    as400: Properties (12366398) : database name = "".
    as400: Properties (12366398) : database name = "".
    as400: Properties (12366398) : extended metadata = "false".
    as400: Properties (12366398) : extended metadata = "false".
    as400: Properties (12366398) : cursor sensitivity = "asensitive".
    as400: Properties (12366398) : cursor sensitivity = "asensitive".
    as400: Properties (12366398) : behavior override = "0".
    as400: Properties (12366398) : behavior override = "0".
    as400: Properties (12366398) : package ccsid = "13488".
    as400: Properties (12366398) : package ccsid = "13488".
    as400: Properties (12366398) : minimum divide scale = "0".
    as400: Properties (12366398) : minimum divide scale = "0".
    as400: Properties (12366398) : maximum precision = "31".
    as400: Properties (12366398) : maximum precision = "31".
    as400: Properties (12366398) : maximum scale = "31".
    as400: Properties (12366398) : maximum scale = "31".
    as400: Properties (12366398) : translate hex = "character".
    as400: Properties (12366398) : translate hex = "character".
    as400: Properties (12366398) : toolbox trace = "".
    as400: Properties (12366398) : toolbox trace = "".
    as400: Properties (12366398) : qaqqinilib = "".
    as400: Properties (12366398) : qaqqinilib = "".
    as400: Properties (12366398) : login timeout = "".
    as400: Properties (12366398) : login timeout = "".
    as400: Properties (12366398) : true autocommit = "false".
    as400: Properties (12366398) : true autocommit = "false".
    as400: Properties (12366398) : bidi implicit reordering = "true".
    as400: Properties (12366398) : bidi implicit reordering = "true".
    as400: Properties (12366398) : bidi numeric ordering = "false".
    as400: Properties (12366398) : bidi numeric ordering = "false".
    as400: Properties (12366398) : hold input locators = "true".
    as400: Properties (12366398) : hold input locators = "true".
    as400: Properties (12366398) : hold statements = "false".
    as400: Properties (12366398) : hold statements = "false".
    as400: Properties (12366398) : rollback cursor hold = "false".
    as400: Properties (12366398) : rollback cursor hold = "false".
    as400: Properties (12366398) : variable field compression = "true".
    as400: Properties (12366398) : variable field compression = "true".
    as400: Properties (12366398) : query optimize goal = "0".
    as400: Properties (12366398) : query optimize goal = "0".
    as400: Properties (12366398) : keep alive = "".
    as400: Properties (12366398) : keep alive = "".
    as400: Properties (12366398) : receive buffer size = "".
    as400: Properties (12366398) : receive buffer size = "".
    as400: Properties (12366398) : send buffer size = "".
    as400: Properties (12366398) : send buffer size = "".
    as400: Properties (12366398) : XA loosely coupled support = "0".
    as400: Properties (12366398) : XA loosely coupled support = "0".
    as400: Properties (12366398) : translate boolean = "true".
    as400: Properties (12366398) : translate boolean = "true".
    as400: Properties (12366398) : metadata source = "-1".
    as400: Properties (12366398) : metadata source = "-1".
    as400: Properties (12366398) : query storage limit = "-1".
    as400: Properties (12366398) : query storage limit = "-1".
    as400: Properties (12366398) : decfloat rounding mode = "half even".
    as400: Properties (12366398) : decfloat rounding mode = "half even".
    as400: Properties (12366398) : autocommit exception = "false".
    as400: Properties (12366398) : autocommit exception = "false".
    as400: Properties (12366398) : auto commit = "true".
    as400: Properties (12366398) : auto commit = "true".
    as400: Properties (12366398) : ignore warnings = "".
    as400: Properties (12366398) : ignore warnings = "".
    as400: Properties (12366398) : secure current user = "true".
    as400: Properties (12366398) : secure current user = "true".
    as400: Properties (12366398) : concurrent access resolution = "0".
    as400: Properties (12366398) : concurrent access resolution = "0".
    as400: Properties (12366398) : jvm16 synchronize = "true".
    as400: Properties (12366398) : jvm16 synchronize = "true".
    as400: Properties (12366398) : socket timeout = "".
    as400: Properties (12366398) : socket timeout = "".
    as400: Properties (12366398) : use block update = "false".
    as400: Properties (12366398) : use block update = "false".
    as400: Properties (12366398) : maximum blocked input rows = "32000".
    as400: Properties (12366398) : maximum blocked input rows = "32000".
    as400: Driver AS/400 Toolbox for Java JDBC Driver (22897006) : Using IBM Toolbox for Java JDBC driver implementation.
    as400: Driver AS/400 Toolbox for Java JDBC Driver (22897006) : Using IBM Toolbox for Java JDBC driver implementation.
    as400: Properties (12366398) : metadata source = "0".
    as400: Properties (12366398) : metadata source = "0".
    as400: Toolbox for Java - Open Source Software, JTOpen 7.1, codebase 5770-SS1 V7R1M0.02
    as400: Toolbox for Java - Open Source Software, JTOpen 7.1, codebase 5770-SS1 V7R1M0.02
    as400: JDBC Level: 40
    as400: JDBC Level: 40
    as400: Properties (12366398) : package ccsid = "13488".
    as400: Properties (12366398) : package ccsid = "13488".
    as400: Connection QZSOES01 (6371135) : Client CCSID = 13488.
    as400: Connection QZSOES01 (6371135) : Client CCSID = 13488.
    as400: Connection QZSOES01 (6371135) : Setting server NLV = 2929.
    as400: Connection QZSOES01 (6371135) : Setting server NLV = 2929.
    as400: Connection QZSOES01 (6371135) : Client functional level = V7R1M01 .
    as400: Connection QZSOES01 (6371135) : Client functional level = V7R1M01 .
    as400: Connection QZSOES01 (6371135) : Data compression = RLE.
    as400: Connection QZSOES01 (6371135) : Data compression = RLE.
    as400: Connection QZSOES01 (6371135) : ROWID supported = true.
    as400: Connection QZSOES01 (6371135) : ROWID supported = true.
    as400: Connection QZSOES01 (6371135) : True auto-commit supported = true.
    as400: Connection QZSOES01 (6371135) : True auto-commit supported = true.
    as400: Connection QZSOES01 (6371135) : 128 byte column names supported = true.
    as400: Connection QZSOES01 (6371135) : 128 byte column names supported = true.
    as400: Connection QZSOES01 (6371135) : Maximum decimal precision = 31.
    as400: Connection QZSOES01 (6371135) : Maximum decimal precision = 31.
    as400: Connection QZSOES01 (6371135) : Maximum decimal scale = 31.
    as400: Connection QZSOES01 (6371135) : Maximum decimal scale = 31.
    as400: Connection QZSOES01 (6371135) : Minimum divide scale = 0.
    as400: Connection QZSOES01 (6371135) : Minimum divide scale = 0.
    as400: Connection QZSOES01 (6371135) : Translate hex = character.
    as400: Connection QZSOES01 (6371135) : Translate hex = character.
    as400: Connection QZSOES01 (6371135) : query optimize goal = 0.
    as400: Connection QZSOES01 (6371135) : query optimize goal = 0.
    as400: Connection QZSOES01 (6371135) : query storage limit = -1.
    as400: Connection QZSOES01 (6371135) : query storage limit = -1.
    as400: Connection QZSOES01 (6371135) : Using extended datastreams.
    as400: Connection QZSOES01 (6371135) : Using extended datastreams.
    as400: Connection QZSOES01 (6371135) : JDBC driver major version = 9.
    as400: Connection QZSOES01 (6371135) : JDBC driver major version = 9.
    as400: Connection QZSOES01 (6371135) : IBM i VRM = V6R1M0.
    as400: Connection QZSOES01 (6371135) : IBM i VRM = V6R1M0.
    as400: Connection QZSOES01 (6371135) : Server CCSID = 273.
    as400: Connection QZSOES01 (6371135) : Server CCSID = 273.
    as400: Connection QZSOES01 (6371135) : Server functional level = V6R1M00014 (14).
    as400: Connection QZSOES01 (6371135) : Server functional level = V6R1M00014 (14).
    as400: Connection QZSOES01 (6371135) : Server job identifier = 296619/QUSER/QZDASOINIT.
    as400: Connection QZSOES01 (6371135) : Server job identifier = 296619/QUSER/QZDASOINIT.
    as400: Properties (12366398) : decimal separator = ".".
    as400: Properties (12366398) : decimal separator = ".".
    as400: Properties (12366398) : date format = "dmy".
    as400: Properties (12366398) : date format = "dmy".
    as400: Properties (12366398) : date separator = ".".
    as400: Properties (12366398) : date separator = ".".
    as400: Properties (12366398) : time format = "hms".
    as400: Properties (12366398) : time format = "hms".
    as400: Properties (12366398) : time separator = ":".
    as400: Properties (12366398) : time separator = ":".
    as400: Connection B60714DD (6371135) open.
    as400: Connection B60714DD (6371135) open.
    as400: Connection B60714DD (6371135) : Auto commit = "true".
    as400: Connection B60714DD (6371135) : Auto commit = "true".
    as400: Connection B60714DD (6371135) : Read only = "false".
    as400: Connection B60714DD (6371135) : Read only = "false".
    as400: Connection B60714DD (6371135) : Transaction isolation = "1".
    as400: Connection B60714DD (6371135) : Transaction isolation = "1".
    getConnection returning driver[className=com.ibm.as400.access.AS400JDBCDriver,AS/400 Toolbox for Java JDBC Driver]
    as400: Statement STMT0001 (25849454) open. Parent: Connection B60714DD (6371135) .
    as400: Statement STMT0001 (25849454) open. Parent: Connection B60714DD (6371135) .
    as400: Statement STMT0001 (25849454) : Escape processing = "true".
    as400: Statement STMT0001 (25849454) : Escape processing = "true".
    as400: Statement STMT0001 (25849454) : Fetch direction = "1000".
    as400: Statement STMT0001 (25849454) : Fetch direction = "1000".
    as400: Statement STMT0001 (25849454) : Fetch size = "0".
    as400: Statement STMT0001 (25849454) : Fetch size = "0".
    as400: Statement STMT0001 (25849454) : Max field size = "0".
    as400: Statement STMT0001 (25849454) : Max field size = "0".
    as400: Statement STMT0001 (25849454) : Max rows = "0".
    as400: Statement STMT0001 (25849454) : Max rows = "0".
    as400: Statement STMT0001 (25849454) : Query timeout = "0".
    as400: Statement STMT0001 (25849454) : Query timeout = "0".
    as400: Statement STMT0001 (25849454) : Result set concurrency = "1007".
    as400: Statement STMT0001 (25849454) : Result set concurrency = "1007".
    as400: Statement STMT0001 (25849454) : Result set holdability = "1".
    as400: Statement STMT0001 (25849454) : Result set holdability = "1".
    as400: Statement STMT0001 (25849454) : Result set type = "1003".
    as400: Statement STMT0001 (25849454) : Result set type = "1003".
    as400: Statement STMT0001 (25849454) : Behavior Override = "0".
    as400: Statement STMT0001 (25849454) : Behavior Override = "0".
    as400: Statement STMT0001 (25849454) : Data to correlate statement with cursor Cursor CRSR0001 (22552192) .
    as400: Statement STMT0001 (25849454) : Data to correlate statement with cursor Cursor CRSR0001 (22552192) .
    as400: Statement STMT0001 (25849454) : Executing query, SQL Statement -->[SELECT LOCATION FROM QSYS2.SYSCATALOGS WHERE RDBTYPE = 'LOCAL' AND RDBASPSTAT='AVAILABLE'].
    as400: Statement STMT0001 (25849454) : Executing query, SQL Statement -->[SELECT LOCATION FROM QSYS2.SYSCATALOGS WHERE RDBTYPE = 'LOCAL' AND RDBASPSTAT='AVAILABLE'].
    as400: Statement STMT0001 (25849454) : Prepared STMT0001*, SQL Statement -->[SELECT LOCATION FROM QSYS2.SYSCATALOGS WHERE RDBTYPE = 'LOCAL' AND RDBASPSTAT='AVAILABLE'].
    as400: Statement STMT0001 (25849454) : Prepared STMT0001*, SQL Statement -->[SELECT LOCATION FROM QSYS2.SYSCATALOGS WHERE RDBTYPE = 'LOCAL' AND RDBASPSTAT='AVAILABLE'].
    as400: Cursor CRSR0001 (22552192) open.
    as400: Cursor CRSR0001 (22552192) open.
    as400: Cursor CRSR0001 (22552192) closed.
    as400: Cursor CRSR0001 (22552192) closed.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... sieht für mich nach einem Treiber Bug aus. Im richtigen Leben sollte man ohnehin log4j in der Applikation nutzen.

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

  7. #7
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo,

    hier ist die Erklärung für die beschriebene Problematik, die eigentlich keine ist. Suche darin mal nach "Pseudo Close". Da ist alles beschrieben. Mir ist das auch schon mal aufgefallen, bis ich auf diese Erklärung gestoßen bin. Ist also alles ganz normal.

    SQL - MidrangeWiki

    Gruß,
    KM

  8. #8
    Registriert seit
    Sep 2004
    Beiträge
    136
    Treiber Bug weis ich nicht, aber ich habe einfach mal das jt400.jar aus der Client Access Installation verwendet statt aus der aktuellen Version des jtopen_7_1 und schon funktioniert das Log auch korrekt. Kann das sein, das jtopen_7_1 für V7R1 vorbehalten ist? Wir haben nämlich nur V6R1 auf unserem Hobel.

    Zitat Zitat von BenderD Beitrag anzeigen
    ... sieht für mich nach einem Treiber Bug aus. Im richtigen Leben sollte man ohnehin log4j in der Applikation nutzen.

    D*B

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... jtopen V7.0+ geht rückwärts bis V5R3, für JDBC je nach JDBC Spezifikation. Das Log hat mit dem Server eh nix zu tun, das ist eine reine Treiber Eigenschaft => definitiv Bug!

    D*B

    Zitat Zitat von Xanas Beitrag anzeigen
    Treiber Bug weis ich nicht, aber ich habe einfach mal das jt400.jar aus der Client Access Installation verwendet statt aus der aktuellen Version des jtopen_7_1 und schon funktioniert das Log auch korrekt. Kann das sein, das jtopen_7_1 für V7R1 vorbehalten ist? Wir haben nämlich nur V6R1 auf unserem Hobel.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Sep 2001
    Beiträge
    3
    muss nicht

    ps1.close
    bzw.
    ps2.close

    stehen im PHP-Code ?

  11. #11
    Registriert seit
    Sep 2004
    Beiträge
    136
    ja stimmt, aber die Sperren bleiben trotzdem hängen.

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Solange Connection-Pooling eingeschaltet ist, bleiben ODP's, die mehr als 1 mal verwendet wurden, offen bis die Verbindung über den Pool auch tatsächlich geschlossen wird.
    ODP's haben mit geöffneten SQL-Cursorn nur indirekt was zu tun.
    Beim 1. Open werden sie erstellt und beim 1. Close wieder geschlossen.
    Beim 2. Open bleibt dieser bis zum echten Verbindungsclose dann offen.

    Ein Close auf einer Connection schiebt diese nur in den Pool zurück, eine tatsächlicher Close erfolgt nicht.
    Da hilft nur, ConnectionPooling (mit den entsprechenden Leistungseinbussen bei häufigem Open/Close) abzuschalten.
    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. Java AS400 JDBC – Daten mit Kyrillischen Zeichen
    By max40 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 16-03-09, 08:52
  2. Java, JDBC, iSeries und Tschechische/Russische/Chinesische Zeichen
    By Christian.Hesse in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 04-08-06, 10:04
  3. Antworten: 3
    Letzter Beitrag: 06-06-06, 15:57
  4. JAVA JDBC TREIBER
    By WPF in forum NEWSboard Java
    Antworten: 1
    Letzter Beitrag: 13-01-06, 17:32
  5. Java ... JDBC ... Zugriff DB2 - Port iSeries ???
    By bode in forum NEWSboard Java
    Antworten: 7
    Letzter Beitrag: 02-09-05, 15:09

Berechtigungen

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