Thread: Help with JDBC access

Help with JDBC access

From
Mark Dzmura
Date:
Help!

I am writing some software which uses JDBC to access SQL databases,
and am using Postgresql in the SQL database role.

I am unable to connect to a database using a "fully qualified"
URL to name the database.  For example, I if I use any of the following
URL's, running the client on the same machine which hosts the database:
jdbc:postgresql:db1jdbc:postgresql://127.0.0.1/db1jdbc:postgresql://localhost/db1

it WORKS!!

However, if I try to use a fully-qualified address:
jdbc:postgresql://enterprise.foobar.com/db1jdbc:postgresql://enterprise/db1

it fails with the following goofy error message:
$ java com.foobar.jdbc.DBTest // comments added manually!loading driver!    // my outputconnecting to database  // my
ouputExceptionthrown!   // my output// following is driver output:Something unusual has occured to cause the driver to
fail.Please report this exception: {1} at postgresql.Driver.connect(Compiled Code) at
java.sql.DriverManager.getConnection(CompiledCode) at java.sql.DriverManager.getConnection(Compiled Code) at
com.foobar.jdbc.DBTest.main(CompiledCode)
 

I have searched the postgresql [INTERFACE] archives and have seen some
related problems and answers - all of which seem to point to the pg_hba.conf
file.  However, I believe that I have the right line in that file to allow hosts
on my local network to access the database...

--------------------------------
Now for some background:

1. I am using the following software:
- Red Hat Linux 5.2 with kernel 2.2.7- Blackdown JDK 1.2.pre-beta-1- Postgresql 6.5 (latest version, not the one that
camewith Redhat)- Postgresql JDBC (jdbc6.5-1.2.jar)
 

2. Both of the host names used in the (failing) examples above  are locally resolvable:
  enterprise  enterprise.foobar.com

3. postgresql is running with the -i switch, enabling internet access
  $ ps ax | grep pg   4811  ?  S    0:00 /usr/local/pgsql/bin/postmaster -i

4. The access file, pg_hba.conf contains the following line:
  host         all   208.205.224.0   255.255.255.0     ident     sameuser
  The intention is to allow any host on the local network to  access any database using "ident" validation semantics
(unixusers).
 

5. The database was stopped and started after making these changes.

6. The following Java code tries to open a connection (in both  the working and non-working cases):
  Connection db = DriverManager.getConnection(dbURL,             user,             pass);
The user and pass strings are a valid unix user and password,and the user has full access to the database in question.
As mentioned above, This call throws an exception if dbURL isfully qualified (even if the machine name is the
localhost),butNOT if it refers to a local database.
 

Any ideas ????

Thanks,
Mark Dzmura

--
)))) This email routed via a wireless gateway!! ((((