Portál AbcLinuxu, 27. července 2025 17:53


Dotaz: PostgreSQL problém s JDBC drivrem

15.11.2008 22:11 ZAH | skóre: 43 | blog: ZAH
PostgreSQL problém s JDBC drivrem
Přečteno: 767×
Odpovědět | Admin
JDBC Driver třída Jdbc3Statement mi vrací následující chybu při zavolání metody isClosed()
java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3Statement.isClosed()
Obdobně se chová i implementace ResultSet.

Verze JDBC 8.1.407. Je za tím obyčejná chyba,která bude odstraněna, nebo je nějaký větší problém s touto metodou a PostgreSQL.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.11.2008 13:12 Zdenek Kotala
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejsem odbornik na JDBC, ale jednak je dulezite take jakou verzi PostgreSQL a Javy pouzivate. Navic posledni verze 8.1 je 8.1.413. Mozna bych zacal updatem.
21.11.2008 18:33 Cronin
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pastni sem podla moznosti cely stacktrace a kod, v ktorom k vynimke dojde.
23.11.2008 23:39 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem

Ono v podstatě není co, dotyčná část volající kódu.

     
     protected boolean isResultSetFail() {
        if (resultSet == null)
            return true;
         try {
         if (resultSet.isClosed())
         return true;
         } catch (Throwable e) {
         handleException(e);
         System.out.println(e.getMessage());
         e.printStackTrace();
         return true;
         }
        return false;
    }

Výpis chyby

 
       org.postgresql.jdbc3.Jdbc3ResultSet.isClosed()Z
        java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3ResultSet.isClosed()Z
	at cz.zah.db.SQLTableModel.isResultSetFail(SQLTableModel.java:1280)

Toto praví dokumentace. Vypadá to na mix knihoven, ale nejsem si ho vědom.

Thrown when an application tries to call an abstract method. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled.

Zkusím přeinstalovat knihovny a uvidíme.

 

 

 

24.11.2008 08:30 cronin | skóre: 49
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem
Ostatne DB operacie cez tento driver funguju, alebo je toto hned prva chyba, na ktorej to zhuci? Inac povedane: si si isty, ze sa JDBC driver spravne nacital? Pretoze to vyzera, akoby za volanym interfejsom (kt. je v javax.sql) v dobe volania chybala implementacia (ktora je prave v tom drivery).
24.11.2008 11:37 ZAH
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem

Chodi vše velmi velmi dobře problém je pouze isclose v ResultSet a Statement.

24.11.2008 15:05 cronin | skóre: 49
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem
isClosed() je @since 1.6. Takze ak kompilujes program voci Jave 1.6, ale samotny JDBC driver je kompilovany voci Jave 1.5 (t.j. neobsahuje implementaciu isClosed() metody), mohlo by to sposobovat zmieneny problem.
24.11.2008 15:11 cronin | skóre: 49
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ako som pisal vyssie, isClosed() je @since 1.6. Na stranke jdbc.postresql.org je jasne napisane: ak pouzivas javu 6, mal by si pouzivat JDBC4. Ty pouzivas JDBC3, ktore patrne javax.sql rozhrania Javy 6 neimplementuje. Takze by malo stacit updatnut na novy, JDBC4-compatibilny driver.
24.11.2008 20:49 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: PostgreSQL problém s JDBC drivrem

Souhlasím je to skutečně ono. Viz selže li vše přečti návod.

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.