|
Home > Archive > PostgreSQL JDBC > April 2005 > Another java connect problem
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Another java connect problem
|
|
| Espen Isaksen 2005-04-04, 7:02 am |
| Hi!
I have studied all the different questions where people have trouble
connecting to PostgreSQL through Java, but it doesn't help me
much. This is a program I first compiled on a Mac and I have no
problems at all there. Now I am on Fedora Linux.
First my code:
Connection dbcon;
java.sql.Connection conn;
String url = "jdbc:postgresql://localhost:5432/espen";
try {
Class.forName("org.postgresql.Driver").newInstance();
}
catch( ClassNotFoundExcepti
on cnfex ) {
System.out.println("Class not found!");
} //end catch
conn = DriverManager.getConnection(url, "user", "password);
Statement stmt = conn.createStatement();
s = conn.createStatement();
I compile by using this command:
javac @files -classpath postgis.jar:postgresql.jar (where files include
a list of all the .java files)
No problems compiling.
I try to run by:
java road_generalization -verbose -classpath postgis.jar:postgresql.jar
Then I get the usual error message:
Unable to connect
java.sql.SQLException: No suitable driver
at java.sql.DriverManager. getConnection(Unknow
n Source)
at java.sql.DriverManager. getConnection(Unknow
n Source)
at DataUthenter. connectPostgres(Data
Uthenter.java:67)
at DataUthenter.<init>(DataUthenter.java:31)
at road_generalization.<init> (road_generalization
.java:99)
at road_generalization. main(road_generaliza
tion.java:383)
I have tried to change the code in a lot of different ways, but it does not
seem to help much. Can anybody give me some insight in why this
doesn't work. Is my "run command" not correct?
Espen Isaksen
http://www.espenisaksen.com
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
| |
|
| Why do you use 'Class.forName("org.postgresql.Driver").newInstance();'? Just
use 'Class.forName("org.postgresql.Driver");'
Oh, by the way, it's probably something you forgot in your e-mail, but
DriverManager.getConnection(url, "user", "password);
is not correct, it has to be:
DriverManager.getConnection(url, "user", "password");
That's the way it works for me...
Nico.
""Espen Isaksen"" <espen.isaksen@statkart.no> schreef in bericht
news:425121BB.8020603@statkart.no...
> Hi!
>
> I have studied all the different questions where people have trouble
> connecting to PostgreSQL through Java, but it doesn't help me
> much. This is a program I first compiled on a Mac and I have no
> problems at all there. Now I am on Fedora Linux.
>
> First my code:
> Connection dbcon;
> java.sql.Connection conn;
> String url = "jdbc:postgresql://localhost:5432/espen";
> try {
> Class.forName("org.postgresql.Driver").newInstance();
> }
> catch( ClassNotFoundExcepti
on cnfex ) {
> System.out.println("Class not found!");
> } //end catch
> conn = DriverManager.getConnection(url, "user", "password);
> Statement stmt = conn.createStatement();
> s = conn.createStatement();
>
>
> I compile by using this command:
> javac @files -classpath postgis.jar:postgresql.jar (where files include a
> list of all the .java files)
>
> No problems compiling.
>
> I try to run by:
> java road_generalization -verbose -classpath postgis.jar:postgresql.jar
>
> Then I get the usual error message:
>
> Unable to connect
> java.sql.SQLException: No suitable driver
> at java.sql.DriverManager. getConnection(Unknow
n Source)
> at java.sql.DriverManager. getConnection(Unknow
n Source)
> at DataUthenter. connectPostgres(Data
Uthenter.java:67)
> at DataUthenter.<init>(DataUthenter.java:31)
> at road_generalization.<init> (road_generalization
.java:99)
> at road_generalization. main(road_generaliza
tion.java:383)
>
> I have tried to change the code in a lot of different ways, but it does
> not
> seem to help much. Can anybody give me some insight in why this
> doesn't work. Is my "run command" not correct?
>
> Espen Isaksen
> http://www.espenisaksen.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>
| |
| Paul Thomas 2005-04-04, 8:04 pm |
|
On 04/04/2005 12:15 Espen Isaksen wrote:
> I try to run by:
> java road_generalization -verbose -classpath postgis.jar:postgresql.jar
Try putting you command line in the correct order.
--
Paul Thomas
+------------------------------+-------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+-------------------------------------------+
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
| |
| Dave Cramer 2005-04-05, 7:02 am |
| Hi,
What is the postgis.jar doing? Does it still implement it's own version
of the jdbc driver ?
the newinstance thing doesn't matter it will still work that way.
Try it without the postgis.jar, it may be loading its version of the driver.
Dave
Espen Isaksen wrote:
> Hi!
>
> I have studied all the different questions where people have trouble
> connecting to PostgreSQL through Java, but it doesn't help me
> much. This is a program I first compiled on a Mac and I have no
> problems at all there. Now I am on Fedora Linux.
>
> First my code:
> Connection dbcon;
> java.sql.Connection conn;
> String url = "jdbc:postgresql://localhost:5432/espen";
>
> try {
> Class.forName("org.postgresql.Driver").newInstance();
> }
> catch( ClassNotFoundExcepti
on cnfex ) {
> System.out.println("Class not found!");
> } //end catch
> conn = DriverManager.getConnection(url, "user", "password);
> Statement stmt = conn.createStatement();
> s = conn.createStatement();
>
>
> I compile by using this command:
> javac @files -classpath postgis.jar:postgresql.jar (where files
> include a list of all the .java files)
>
> No problems compiling.
>
> I try to run by:
> java road_generalization -verbose -classpath postgis.jar:postgresql.jar
>
> Then I get the usual error message:
>
> Unable to connect
> java.sql.SQLException: No suitable driver
> at java.sql.DriverManager. getConnection(Unknow
n Source)
> at java.sql.DriverManager. getConnection(Unknow
n Source)
> at DataUthenter. connectPostgres(Data
Uthenter.java:67)
> at DataUthenter.<init>(DataUthenter.java:31)
> at road_generalization.<init> (road_generalization
.java:99)
> at road_generalization. main(road_generaliza
tion.java:383)
>
> I have tried to change the code in a lot of different ways, but it
> does not
> seem to help much. Can anybody give me some insight in why this
> doesn't work. Is my "run command" not correct?
>
> Espen Isaksen
> http://www.espenisaksen.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>
>
--
Dave Cramer
http://www.postgresintl.com
519 939 0336
ICQ#14675561
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
| |
| Espen Isaksen 2005-04-05, 8:06 pm |
| Hi!
I just got it working. Well at least past that problem. Now I have a new one. :-)
It was solved by correcting the java command. Apparantly it gives this error
if you put you .class file before the options.
Postgis is a GIS(Geographic information System) extension to Postgresql.
Check out http://www.postgis.org/.
Thanks, Espen(using a new e-mail address at the moment)
On Tuesday, April 05, 2005, at 02:11PM, Dave Cramer <pg@fastcrypt.com> wrote:
>Hi,
>
>What is the postgis.jar doing? Does it still implement it's own version
>of the jdbc driver ?
>
>the newinstance thing doesn't matter it will still work that way.
>
>Try it without the postgis.jar, it may be loading its version of the driver.
>
>Dave
>
>Espen Isaksen wrote:
>
>
>--
>Dave Cramer
>http://www.postgresintl.com
>519 939 0336
>ICQ#14675561
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 7: don't forget to increase your free space map settings
>
>
-------------------------
Espen Isaksen
Visit my website:
http://www.espenisaksen.com
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
| |
| Markus Schaber 2005-04-05, 8:06 pm |
| Hi, Dave,
Dave Cramer schrieb:
> What is the postgis.jar doing? Does it still implement it's own version
> of the jdbc driver?
> the newinstance thing doesn't matter it will still work that way.
> Try it without the postgis.jar, it may be loading its version of the
> driver.
Where do you have this information from? All PostGIS versions I know
(0.7.x up to current 1.0.0RCX) do not carry any org.postgresql.Driver
class with them.
1.0 versions carry _subclasses_ of org.postgresql.Driver with them.
I have to admit that, _during compilation_, postgis uses their own
copies of org.postgresql.Connection and org.postgresql.PGConnection, but
those are not packed into postgis.jar. This ugly trick is necessary
because the postgresql.jar incompatibly renamed this class between 7.2
and 7.3, and the Debian/GIS people still want to support debian stable
which carries 7.2 with it.
Markus
|
|
|
|
|