Thread: getTransactionIsolation() causes SQLException - unrecognized configuration parameter xactisolevel

Setup: Postgres 8.0.1 & postgresql-8.0-310.jdbc3.jar

The following code:
---------------------------

try {
    Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
    System.out.println(e);
}

String url = "jdbc:postgresql://dbserver/test";
Properties p = new Properties();
p.setProperty("user", "test");
p.setProperty("password", "test");

Connection con;
try {
    con = DriverManager.getConnection(url, p);
    System.out.println("con.getTransactionIsolation() = " +
con.getTransactionIsolation());
    con.close();
} catch (SQLException e) {
  System.out.println(e);
}

Produces this:
---------------------
java.sql.SQLException: ERROR:  unrecognized configuration parameter
"xactisolevel"

I've tried:
------------
1.) configuring the default_transaction_isolation parameter in postgresql.conf
2.) setting it programattically via con.setTransactionIsolation()

and now I'm stuck.  I really don't care what the transaction isolation
level is.  I'm trying to use Postgres 8.0 as a backend database for
Hibernate and org.postgresql.Driver.getTransactionIsolation() is
halting my progress.

Any help would be greatly appreciated.

Re: getTransactionIsolation() causes SQLException - unrecognized

From
Kris Jurka
Date:

On Mon, 4 Apr 2005, Paul Marchant wrote:

> Setup: Postgres 8.0.1 & postgresql-8.0-310.jdbc3.jar
>
>     con = DriverManager.getConnection(url, p);
>     System.out.println("con.getTransactionIsolation() = " +
> con.getTransactionIsolation());
>     con.close();
>
> Produces this:
> ---------------------
> java.sql.SQLException: ERROR:  unrecognized configuration parameter
> "xactisolevel"

What's the complete stacktrace for this error?  I'm not convinced it is a
JDBC driver problem.


Kris Jurka

Re: getTransactionIsolation() causes SQLException - unrecognized

From
Oliver Jowett
Date:
Paul Marchant wrote:
> Setup: Postgres 8.0.1 & postgresql-8.0-310.jdbc3.jar

> java.sql.SQLException: ERROR:  unrecognized configuration parameter
> "xactisolevel"

I can't reproduce this against 8.0.0. 'xactisolevel' doesn't appear
anywhere in the current JDBC driver sources either (from memory it was
around in the 7.3 driver though)..  Are you sure you are using the
driver version you think you are using?

Test code attached. I get this:

> $ java -cp .:postgresql-8.0-310.jdbc3.jar TestIso 'jdbc:postgresql://localhost:5800/test?user=oliver'
> driver version: PostgreSQL 8.0 JDBC3 with SSL (build 310)
> db version:     8.0.0
> con.getTransactionIsolation() = 2

-O
import java.sql.*;

public class TestIso {
    public static void main(String[] args) {
        try {
            Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println(e);
        }

        Connection con;
        try {
            con = DriverManager.getConnection(args[0]);

            System.out.println("driver version: " + con.getMetaData().getDriverVersion());
            System.out.println("db version:     " + con.getMetaData().getDatabaseProductVersion());

            System.out.println("con.getTransactionIsolation() = " +
                               con.getTransactionIsolation());
            con.close();
        } catch (SQLException e) {
            System.out.println(e);
        }
    }
}

Thanks for the suggestions.  I ran your code and it was a driver issue
after all.  Eclipse was somehow finding a 7.3 version of driver on my
system.  I have since expunged any files possible of causing the
conflict.