Thread: Something unusual has occured to cause the driver to fail. NullPointerException

Something unusual has occured to cause the driver to fail. NullPointerException

From
Larry Rogers
Date:
Hi all,

I'm having trouble opening a database connection to a test database on a
fresh PostGreSQL 7.1.3 installation on RedHat 7.1 from the RPMs.  I have a
simple test class TestPostGreSQL that opens a connection, queries for all the
rows in a table and prints the results to standard output.  The driver file
is in the same directory as the java class, which I execute using

java -classpath .:jdbc7.1-1.2.jar TestPostGreSQL

I get the following error message:

Something unusual has occured to cause the driver to fail. Please report this
exception: Exception: java.lang.NullPointerException
Stack Trace:
java.lang.NullPointerException
    at org.postgresql.Connection.openConnection(Connection.java:148)
    at org.postgresql.Driver.connect(Driver.java:122)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:177)
    at TestPostGreSQL.main(TestPostGreSQL.java:17)
End of Stack Trace

I created the database using

createdb testdb

and from psql created the table as

create table Person (
FirstName char(30) not null,
LastName char(30) not null);

then created the user and password and granted all permissions on the Person
table.

I start the server with

postmaster -i

to get TCP/IP support.  The code for the test class is at the end of this
message.  Note that everything is commented out except for loading the driver
and opening a connection.  I have used JDBC successfully for months with
Microsoft SQL Server, but I'm anxious to switch over to PostGreSQL!

Thanks in advance for any help!
Larry Rogers

*****************************

import java.sql.*;
import java.util.Date;

public class TestPostGreSQL {

    public static void main(String[] args) {

        final String driver = "org.postgresql.Driver";
        final String url = "jdbc:postgresql://localhost:5432?database=testdb";
        final String login = "TestUser";
        final String password = "TestPass";
        String sql = "SELECT * FROM Person";

        try {
            Class.forName(driver);
            Connection connection
                = DriverManager.getConnection(url, login, password);
            /*

            Statement statement = connection.createStatement();
            ResultSet result = statement.executeQuery(sql);

            while (result.next()) {
                System.out.println(result.getString("FirstName") + " " +
result.getString("LastName"));
            }
            result.close();
            statement.close();
            */
            connection.close();

        } catch(SQLException e) {
            System.out.println(e);
        } catch(ClassNotFoundException e) {
            System.out.println(e);
        }
    }
}

Re: Something unusual has occured to cause the driver to

From
Dave Weis
Date:
Your connection url looks funny, it should probably be more like
jdbc:postgresql://localhost/testdb

dave

On Sun, 9 Sep 2001, Larry Rogers wrote:

> exception: Exception: java.lang.NullPointerException
> Stack Trace:
> java.lang.NullPointerException
>     at org.postgresql.Connection.openConnection(Connection.java:148)
>     at org.postgresql.Driver.connect(Driver.java:122)
>     at java.sql.DriverManager.getConnection(DriverManager.java:517)
>     at java.sql.DriverManager.getConnection(DriverManager.java:177)
>     at TestPostGreSQL.main(TestPostGreSQL.java:17)
> End of Stack Trace
>         final String url = "jdbc:postgresql://localhost:5432?database=testdb";


--
Dave Weis             "I believe there are more instances of the abridgement
djweis@sjdjweis.com   of the freedom of the people by gradual and silent
                      encroachments of those in power than by violent
                      and sudden usurpations."- James Madison


I tried your URL format with the same results.  Thanks anyway!

Larry Rogers


On Sunday 09 September 2001 20:15, Dave Weis wrote:
> Your connection url looks funny, it should probably be more like
> jdbc:postgresql://localhost/testdb
>
> dave
>

Larry,

Shouldn't your connection URL be:

jdbc:postgresql://localhost:5432/testdb

instead of

jdbc:postgresql://localhost:5432?database=testdb


thanks,
--Barry


Larry Rogers wrote:
> Hi all,
>
> I'm having trouble opening a database connection to a test database on a
> fresh PostGreSQL 7.1.3 installation on RedHat 7.1 from the RPMs.  I have a
> simple test class TestPostGreSQL that opens a connection, queries for all the
> rows in a table and prints the results to standard output.  The driver file
> is in the same directory as the java class, which I execute using
>
> java -classpath .:jdbc7.1-1.2.jar TestPostGreSQL
>
> I get the following error message:
>
> Something unusual has occured to cause the driver to fail. Please report this
> exception: Exception: java.lang.NullPointerException
> Stack Trace:
> java.lang.NullPointerException
>     at org.postgresql.Connection.openConnection(Connection.java:148)
>     at org.postgresql.Driver.connect(Driver.java:122)
>     at java.sql.DriverManager.getConnection(DriverManager.java:517)
>     at java.sql.DriverManager.getConnection(DriverManager.java:177)
>     at TestPostGreSQL.main(TestPostGreSQL.java:17)
> End of Stack Trace
>
> I created the database using
>
> createdb testdb
>
> and from psql created the table as
>
> create table Person (
> FirstName char(30) not null,
> LastName char(30) not null);
>
> then created the user and password and granted all permissions on the Person
> table.
>
> I start the server with
>
> postmaster -i
>
> to get TCP/IP support.  The code for the test class is at the end of this
> message.  Note that everything is commented out except for loading the driver
> and opening a connection.  I have used JDBC successfully for months with
> Microsoft SQL Server, but I'm anxious to switch over to PostGreSQL!
>
> Thanks in advance for any help!
> Larry Rogers
>
> *****************************
>
> import java.sql.*;
> import java.util.Date;
>
> public class TestPostGreSQL {
>
>     public static void main(String[] args) {
>
>         final String driver = "org.postgresql.Driver";
>         final String url = "jdbc:postgresql://localhost:5432?database=testdb";
>         final String login = "TestUser";
>         final String password = "TestPass";
>         String sql = "SELECT * FROM Person";
>
>         try {
>             Class.forName(driver);
>             Connection connection
>                 = DriverManager.getConnection(url, login, password);
>             /*
>
>             Statement statement = connection.createStatement();
>             ResultSet result = statement.executeQuery(sql);
>
>             while (result.next()) {
>                 System.out.println(result.getString("FirstName") + " " +
> result.getString("LastName"));
>             }
>             result.close();
>             statement.close();
>             */
>             connection.close();
>
>         } catch(SQLException e) {
>             System.out.println(e);
>         } catch(ClassNotFoundException e) {
>             System.out.println(e);
>         }
>     }
> }
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>
>