Обсуждение: "No Suitable Driver"

Поиск
Список
Период
Сортировка

"No Suitable Driver"

От
Guy McArthur
Дата:
Hi, I'm trying to get a small test program going. I have built PostgreSQL
7.1.3 on RedHat 6.2 with --java, installed and created databases, verified
with psql. The postgresql.jar is on my classpath.

My pg_hba.conf has:
local        all                                           password
host         all         127.0.0.1     255.255.255.255     password

Here is my code:

import java.sql.*;

public class PostgresTest {
   public static void main(String[] args) {
     try {
      Connection db =
DriverManager.getConnection("jdbc.postgresql:test&user=test&password=test");
// I've also tried all the permutations of getConnection() and urls.
// db, user, and password names have been changed to protect the innocent
// I've also tried Class.forName("org.postgresql.Driver") and
// Class.forName("org.postgresql.Driver").newInstance() instead of the arg.
      db.close();
     } catch(Throwable t) {
         t.printStackTrace(System.out);
     }
   }
}

--
Running it with:

java -Djdbc.drivers=org.postgresql.Driver PostgresTest
where the db has been started by user postgres with:
/usr/local/pgsql/bin/postmaster -i -D /data/pgsql >/data/pgsql/pgsql.log 2>&1 &

And the error is:

java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:537)
        at java.sql.DriverManager.getConnection(DriverManager.java:199)
        at PostgresTest.main(PostgresTest.java:6)


What is wrong?

--
Guy McArthur * email{guym@arizona.edu} http{guymcarthur.com}





Re: "No Suitable Driver"

От
"Dave Cramer"
Дата:
You need to load the driver first and then get the connection, also the
url for the connection s/b

jdbc:postgresql://hostname/test&user=test&password=test"

Assuming your database name is test


So your code needs to execute
Class.forName("org.postgresql.Driver")

And then
Connection db =
DriverManager.getConnection("jdbc:postgresql://hostname/test"test",test"
);

Dave

-----Original Message-----
From: pgsql-jdbc-owner@postgresql.org
[mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Guy McArthur
Sent: October 24, 2001 7:13 PM
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] "No Suitable Driver"



Hi, I'm trying to get a small test program going. I have built
PostgreSQL 7.1.3 on RedHat 6.2 with --java, installed and created
databases, verified with psql. The postgresql.jar is on my classpath.

My pg_hba.conf has:
local        all                                           password
host         all         127.0.0.1     255.255.255.255     password

Here is my code:

import java.sql.*;

public class PostgresTest {
   public static void main(String[] args) {
     try {
      Connection db =
DriverManager.getConnection("jdbc.postgresql:test&user=test&password=tes
t");
// I've also tried all the permutations of getConnection() and urls. //
db, user, and password names have been changed to protect the innocent
// I've also tried Class.forName("org.postgresql.Driver") and //
Class.forName("org.postgresql.Driver").newInstance() instead of the arg.
      db.close();
     } catch(Throwable t) {
         t.printStackTrace(System.out);
     }
   }
}

--
Running it with:

java -Djdbc.drivers=org.postgresql.Driver PostgresTest
where the db has been started by user postgres with:
/usr/local/pgsql/bin/postmaster -i -D /data/pgsql >/data/pgsql/pgsql.log
2>&1 &

And the error is:

java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:537)
        at java.sql.DriverManager.getConnection(DriverManager.java:199)
        at PostgresTest.main(PostgresTest.java:6)


What is wrong?

--
Guy McArthur * email{guym@arizona.edu} http{guymcarthur.com}





---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: "No Suitable Driver"

От
"Dave Cramer"
Дата:
Guy,

Send me the pertinent code where you are loading the driver

Dave

-----Original Message-----
From: Guy McArthur [mailto:guym@arizona.edu]
Sent: October 25, 2001 6:28 PM
To: Dave Cramer
Cc: pgsql-jdbc@postgresql.org
Subject: RE: [JDBC] "No Suitable Driver"




Huh. Well I have set up Jive Forums 2.1.1 (jivesoftware.com) using
postgres jdbc and it seems to work fine. Also in the Resin java web-app
server I set up a DataSource pool of postgres connections, and that
seems to work fine, fetching a connection, doing a query and all that. I
haven't looked at the source to see how they are doing it. But it
absolutely does not work from my command-line test app no matter which
way I've tried it.






Re: "No Suitable Driver"

От
Guy McArthur
Дата:

Huh. Well I have set up Jive Forums 2.1.1 (jivesoftware.com) using
postgres jdbc and it seems to work fine. Also in the Resin java web-app
server I set up a DataSource pool of postgres connections, and that seems
to work fine, fetching a connection, doing a query and all that. I haven't
looked at the source to see how they are doing it. But it absolutely does
not work from my command-line test app no matter which way I've tried it.





Re: "No Suitable Driver"

От
"Nick Fankhauser"
Дата:
Guy-

I just looked back at your original post-

Have you tried a getConnection call that looks like this:

DriverManager.getConnection("jdbc.postgresql:test,"test","test");

-Nick

--------------------------------------------------------------------------
Nick Fankhauser  nickf@ontko.com  Phone 1.765.935.4283  Fax 1.765.962.9788
Ray Ontko & Co.     Software Consulting Services     http://www.ontko.com/



Re: "No Suitable Driver"

От
Guy McArthur
Дата:
> Have you tried a getConnection call that looks like this:
>
> DriverManager.getConnection("jdbc.postgresql:test,"test","test");
                                  ^^^

that was my mistake.




Re: "No Suitable Driver"

От
Guy McArthur
Дата:
>
> I just looked back at your original post-
>
> Have you tried a getConnection call that looks like this:
>
> DriverManager.getConnection("jdbc.postgresql:test,"test","test");
                                   ^

that was my mistake.