Exception "The connection attempt failed." (didn't find anything elsewhere)

From: "Pedro n/a" <napalmblood(at)hotmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Exception "The connection attempt failed." (didn't find anything elsewhere)
Date: 2005-04-08 20:26:17
Message-ID: BAY18-F176A7D85656FC9C6622164BA3F0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello,

I'm quite new at java and I was just following a tutorial when I bumped
with a horrible exception. The program compiled smoothly, but when I runned
it I got an error message and I wasn't able to found any track through the
internet. So I would like to know if any of you could help me. Here is the
error track spilled from my VM:

org.postgresql.util.PSQLException: The connection attempt failed.
org.postgresql.util.PSQLException: The connection attempt failed.
at
org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)
at
org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65)
at
org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:117)
at
org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at
org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.connect(Driver.java:235)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at HelloPostgresql.<init>(HelloPostgresql.java:34)
at HelloPostgresql.main(HelloPostgresql.java:118)
Caused by: java.net.UnknownHostException: localhost
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at org.postgresql.core.PGStream.<init>(PGStream.java:58)
at
org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77)
... 9 more

A little note: I think that attempt to connect wasn't completed because it
didn't generate any entry in the postgresql log files.

Here's the code I compiled...

/**
* A demo program to show how jdbc works with postgresql
* Nick Fankhauser 10/25/01
* nickf(at)ontko(dot)com or nick(at)fankhausers(dot)com
* This program may be freely copied and modified
* Please keep this header intact on unmodified versions
* The rest of the documentation that came with this demo program
* may be found at http://www.fankhausers.com/postgresql/jdbc
*/

import java.sql.*; // All we need for JDBC
import java.text.*;
import java.io.*;

public class HelloPostgresql
{
Connection db; // A connection to the database
Statement sql; // Our statement to run queries with
DatabaseMetaData dbmd; // This is basically info the driver delivers
// about the DB it just connected to. I use
// it to get the DB version to confirm the
// connection in this example.

//CONSTRUCTOR
public HelloPostgresql(String argv[]) throws ClassNotFoundException,
SQLException
{
String database = argv[0];
String username = argv[1];
String password = argv[2];

Class.forName("org.postgresql.Driver"); //load the driver

db = DriverManager.getConnection("jdbc:postgresql:"+database,
username,
password); //connect to the db

dbmd = db.getMetaData(); //get MetaData to confirm connection

System.out.println("Connection to "+dbmd.getDatabaseProductName()+" "+
dbmd.getDatabaseProductVersion()+" successful.\n");

sql = db.createStatement(); //create a statement that we can use later

String sqlText = "create table jdbc_demo (code int, text varchar(20))";
System.out.println("Executing this command: "+sqlText+"\n");
sql.executeUpdate(sqlText);

sqlText = "insert into jdbc_demo values (1,'One')";
System.out.println("Executing this command: "+sqlText+"\n");
sql.executeUpdate(sqlText);

sqlText = "insert into jdbc_demo values (3,'Four')";
System.out.println("Executing this command twice: "+sqlText+"\n");
sql.executeUpdate(sqlText);
sql.executeUpdate(sqlText);

sqlText = "update jdbc_demo set text = 'Three' where code = 3";
System.out.println("Executing this command: "+sqlText+"\n");
sql.executeUpdate(sqlText);
System.out.println (sql.getUpdateCount()+
" rows were update by this statement\n");

System.out.println("\n\nNow demostrating a prepared statement...");
sqlText = "insert into jdbc_demo values (?,?)";
System.out.println("The Statement looks like this: "+sqlText+"\n");
System.out.println("Looping three times filling in the fields...\n");
PreparedStatement ps = db.prepareStatement(sqlText);
for (int i=10;i<13;i++)
{
System.out.println(i+"...\n");
ps.setInt(1,i); //set column one (code) to i
ps.setString(2,"HiHo"); //Column two gets a string
ps.executeUpdate();
}
ps.close();

System.out.println("Now executing the command: "+
"select * from jdbc_demo");
ResultSet results = sql.executeQuery("select * from jdbc_demo");
if (results != null)
{
while (results.next())
{
System.out.println("code = "+results.getInt("code")+
"; text = "+results.getString(2)+"\n");
}
}
results.close();

sqlText = "drop table jdbc_demo";
System.out.println("Executing this command: "+sqlText+"\n");
sql.executeUpdate(sqlText);

db.close();
}

public static void correctUsage()
{
System.out.println("\nIncorrect number of arguments.\nUsage:\n "+
"java \n");
System.exit(1);
}

public static void main (String args[])
{
if (args.length != 3) correctUsage();
try
{
HelloPostgresql demo = new HelloPostgresql(args);
}
catch (Exception ex)
{
System.out.println("***Exception:\n"+ex);
ex.printStackTrace();
}
}
}

Thanks In Advance,
Pedro

_________________________________________________________________
MSN Messenger: converse online com seus amigos .
http://messenger.msn.com.br

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2005-04-08 23:02:26 Re: Exception "The connection attempt failed." (didn't find
Previous Message Dave Cramer 2005-04-07 19:38:49 Re: Updatable resultset with join query.