Thread: org.postgresql.util.PSQLException: Protocol error. Session setup failed
I am trying to connect to PostgreSQL database on my local system.
The code is:
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
Connection conn = DriverManager.getConnection(url);
Running the code I get:
org.postgresql.util.PSQLException: Protocol error. Session setup failed.
Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4
The code is:
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
Connection conn = DriverManager.getConnection(url);
Running the code I get:
org.postgresql.util.PSQLException: Protocol error. Session setup failed.
Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4
Did not look up error, but looks like the Class.forName(). Attached standard main() to create a connection to PostgreSQL. danap. //============================================================ // Main public access point method for instantiating the // PostgreSQL_JDBC application. Arguments: database, username, // & password. // ============================================================== public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException, InterruptedException { String host, database, username, password; Connection dbConnection; // Collect connection properties. and setup connection. //host = "cindy"; host = "localhost"; if (args.length != 0) { database = args[0]; username = (args.length > 1) ? args[1] : null; password = (args.length > 2) ? args[2] : null; } else { database = "key_tables"; username = ""; password = ""; } dbConnection = null; Class.forName("org.postgresql.Driver").newInstance(); dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + database, username, password); System.out.println("Connection Created"); new PostgreSQL_JDBC(dbConnection); // Close. dbConnection.close(); System.out.println("Connection Closed"); }
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Maciek Sakrejda
Date:
I don't imagine Class.forName() would throw a PSQLException. If I'm reading the ConnectionFactoryImpl code correctly, the server seems to be responding to the Startup message with something that is neither an error nor an authentication request, which seems weird. Can you use Wireshark or tcpdump to look at traffic on the wire? --- Maciek Sakrejda | Software Engineer | Truviso 1065 E. Hillsdale Blvd., Suite 230 Foster City, CA 94404 (650) 242-3500 Main (650) 242-3516 T (510) 717-5398 M (650) 242-3501 F msakrejda@truviso.com www.truviso.com On Tue, Mar 9, 2010 at 8:56 AM, dmp <danap@ttc-cmc.net> wrote: > Did not look up error, but looks like the Class.forName(). > Attached standard main() to create a connection to PostgreSQL. > > danap. > > > //============================================================ > // Main public access point method for instantiating the > // PostgreSQL_JDBC application. Arguments: database, username, > // & password. > // ============================================================== > > public static void main(String[] args) throws SQLException, > InstantiationException, > IllegalAccessException, ClassNotFoundException, InterruptedException > { > String host, database, username, password; > Connection dbConnection; > > // Collect connection properties. and setup connection. > > //host = "cindy"; > host = "localhost"; > > if (args.length != 0) > { > database = args[0]; > username = (args.length > 1) ? args[1] : null; > password = (args.length > 2) ? args[2] : null; > } > else > { > database = "key_tables"; > username = ""; > password = ""; > } > > dbConnection = null; > Class.forName("org.postgresql.Driver").newInstance(); > dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host > + "/" + database, username, > password); > System.out.println("Connection Created"); > > new PostgreSQL_JDBC(dbConnection); > > // Close. > dbConnection.close(); > System.out.println("Connection Closed"); > } > > -- > Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-jdbc > >
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Major Services
Date:
Output is :
//============================================================ // Main public access point method for instantiating the // PostgreSQL_JDBC application. Arguments: database, username, // & password. // ============================================================== public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException, InterruptedException { String host, database, username, password; Connection dbConnection; // Collect connection properties. and setup connection. //host = "cindy"; host = "localhost"; if (args.length != 0) { database = args[0]; username = (args.length > 1) ? args[1] : null; password = (args.length > 2) ? args[2] : null; } else { database = "postgres"; username = "postgres"; password = "major"; } dbConnection = null; Class.forName("org.postgresql.Driver").newInstance(); dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + database, username, password); System.out.println("Connection Created"); new PostgreSQL_JDBC(dbConnection); // Close. dbConnection.close(); System.out.println("Connection Closed"); }
//============================================================ // Main public access point method for instantiating the // PostgreSQL_JDBC application. Arguments: database, username, // & password. // ============================================================== public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException, InterruptedException { String host, database, username, password; Connection dbConnection; // Collect connection properties. and setup connection. //host = "cindy"; host = "localhost"; if (args.length != 0) { database = args[0]; username = (args.length > 1) ? args[1] : null; password = (args.length > 2) ? args[2] : null; } else { database = "postgres"; username = "postgres"; password = "major"; } dbConnection = null; Class.forName("org.postgresql.Driver").newInstance(); dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + database, username, password); System.out.println("Connection Created"); new PostgreSQL_JDBC(dbConnection); // Close. dbConnection.close(); System.out.println("Connection Closed"); }
On Tue, Mar 9, 2010 at 10:26 PM, dmp <danap@ttc-cmc.net> wrote:
Did not look up error, but looks like the Class.forName().
Attached standard main() to create a connection to PostgreSQL.
danap.
//============================================================
// Main public access point method for instantiating the
// PostgreSQL_JDBC application. Arguments: database, username,
// & password.
// ==============================================================
public static void main(String[] args) throws SQLException, InstantiationException,
IllegalAccessException, ClassNotFoundException, InterruptedException
{
String host, database, username, password;
Connection dbConnection;
// Collect connection properties. and setup connection.
//host = "cindy";
host = "localhost";
if (args.length != 0)
{
database = args[0];
username = (args.length > 1) ? args[1] : null;
password = (args.length > 2) ? args[2] : null;
}
else
{
database = "key_tables";
username = "";
password = "";
}
dbConnection = null;
Class.forName("org.postgresql.Driver").newInstance();
dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + database, username,
password);
System.out.println("Connection Created");
new PostgreSQL_JDBC(dbConnection);
// Close.
dbConnection.close();
System.out.println("Connection Closed");
}
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Mark Kirkwood
Date:
Major Services wrote: > I am trying to connect to PostgreSQL database on my local system. > > The code is: > > Class.forName("org.postgresql.Driver"); > String url = > "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > Connection conn = DriverManager.getConnection(url); > > Running the code I get: > > org.postgresql.util.PSQLException: Protocol error. Session setup failed. > > Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4 > > > > > Try adding some debug info (will help us see what is going on) - e.g: Class.forName("org.postgresql.Driver"); String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; Properties props = new Properties(); props.setProperty("loglevel","2"); Connection conn = DriverManager.getConnection(url, props); regards Mark
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Major Services
Date:
Hi,Thanks
Following is the error report:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp
Properties cannot be resolved to a type
10: {
11: Class.forName("org.postgresql.Driver");
12: String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
13: Properties props = new Properties();
14: props.setProperty("loglevel","2");
15: Connection conn = DriverManager.getConnection(url, props);
16: }
On Wed, Mar 10, 2010 at 4:02 AM, Mark Kirkwood <mark.kirkwood@catalyst.net.nz> wrote:
Try adding some debug info (will help us see what is going on) - e.g:Major Services wrote:I am trying to connect to PostgreSQL database on my local system.
The code is:
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
Connection conn = DriverManager.getConnection(url);
Running the code I get:
org.postgresql.util.PSQLException: Protocol error. Session setup failed.
Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4Properties props = new Properties();
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
props.setProperty("loglevel","2");
Connection conn = DriverManager.getConnection(url, props);
regards
Mark
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Guillaume Cottenceau
Date:
Major Services <services.major 'at' gmail.com> writes: > Hi, > Following is the error report: lol! (sorry, couldn't resist) > org.apache.jasper.JasperException: Unable to compile class for JSP: > > An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp > Properties cannot be resolved to a type > > 10: { > 11: Class.forName("org.postgresql.Driver"); > 12: String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > 13: Properties props = new Properties(); > 14: props.setProperty("loglevel","2"); > > 15: Connection conn = DriverManager.getConnection(url, props); > 16: } > -- Guillaume Cottenceau
This output error is total unrelated to your original error and does not involve the jdbc. Perhaps you should back out and try from simple to more complicated. 1. Connect on the local system with psql 2. Create a simple application, not using a servlet, and try connecting. You can use the sample main as I posted to do this or your own code. 3. Make sure a simple servlet, not using the database is working. > Hi, > Following is the error report: > > org.apache.jasper.JasperException: Unable to compile class for JSP: > > An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp > Properties cannot be resolved to a type > 10: { > 11: Class.forName("org.postgresql.Driver"); > 12: String url = > "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > 13: Properties props = new Properties(); > 14: props.setProperty("loglevel","2"); > 15: Connection conn = DriverManager.getConnection(url, props); > 16: } I'm in agreement with Maciek comments here. I can not duplicate your PSQLException with problem with Class.forName or any other invalid input for connection. danap > I don't imagine Class.forName() would throw a PSQLException. > > If I'm reading the ConnectionFactoryImpl code correctly, the server > seems to be responding to the Startup message with something that is > neither an error nor an authentication request, which seems weird. Can > you use Wireshark or tcpdump to look at traffic on the wire? > --- > Maciek Sakrejda | Software Engineer | Truviso > Class.forName("org.postgresql.Driver"); > String url = > "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > Connection conn = DriverManager.getConnection(url); > > Running the code I get: > > org.postgresql.util.PSQLException: Protocol error. Session setup failed. > > Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Major Services
Date:
Please ignore the previous output.
Here is the one to consider:
Here is the one to consider:
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/pgtest.jsp at line 14
11: String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
12: Properties props = new Properties();
13: props.setProperty("loglevel","2");
14: Connection conn = DriverManager.getConnection(url , props);
15: }
16: %>
17: </body>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: org.postgresql.util.PSQLException: Protocol error. Session setup failed.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.jsp.pgtest_jsp._jspService(pgtest_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.postgresql.util.PSQLException: Protocol error. Session setup failed.
org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:402)
org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108)
org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
org.postgresql.Driver.makeConnection(Driver.java:393)
org.postgresql.Driver.connect(Driver.java:267)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:140)
org.apache.jsp.jsp.pgtest_jsp._jspService(pgtest_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
On Wed, Mar 10, 2010 at 8:01 PM, Major Services <services.major@gmail.com> wrote:
Hi,Thanks
Following is the error report:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp
Properties cannot be resolved to a type
10: {
11: Class.forName("org.postgresql.Driver");
12: String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
13: Properties props = new Properties();
14: props.setProperty("loglevel","2");
15: Connection conn = DriverManager.getConnection(url, props);
16: }On Wed, Mar 10, 2010 at 4:02 AM, Mark Kirkwood <mark.kirkwood@catalyst.net.nz> wrote:Try adding some debug info (will help us see what is going on) - e.g:Major Services wrote:I am trying to connect to PostgreSQL database on my local system.
The code is:
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
Connection conn = DriverManager.getConnection(url);
Running the code I get:
org.postgresql.util.PSQLException: Protocol error. Session setup failed.
Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4Properties props = new Properties();
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major";
props.setProperty("loglevel","2");
Connection conn = DriverManager.getConnection(url, props);
regards
Mark
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
"Kevin Grittner"
Date:
Major Services <services.major@gmail.com> wrote: > "jdbc:postgresql://localhost:5432/postgres?user=postgres&password= > major" > *root cause* > > org.postgresql.util.PSQLException: Protocol error. Session setup > failed. > org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication( > ConnectionFactoryImpl.java:402) > org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl( > ConnectionFactoryImpl.java:108) What happens if you try to connect with: psql -h localhost -p 5432 postgres postgres and type major as the password when prompted? -Kevin
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Maciek Sakrejda
Date:
Okay, this looks like the stack trace you originally posted. So now we're back to what we were asking earlier--can you enable logging in the driver or capture the traffic on the wire with a tool like Wireshark or tcpdump? --- Maciek Sakrejda | Software Engineer | Truviso 1065 E. Hillsdale Blvd., Suite 230 Foster City, CA 94404 (650) 242-3500 Main (650) 242-3501 F msakrejda@truviso.com www.truviso.com On Wed, Mar 10, 2010 at 10:34 AM, Major Services <services.major@gmail.com> wrote: > Please ignore the previous output. > > Here is the one to consider: > > org.apache.jasper.JasperException: An exception occurred processing JSP page > /jsp/pgtest.jsp at line 14 > > 11: String url = > "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > > 12: Properties props = new Properties(); > 13: props.setProperty("loglevel","2"); > 14: Connection conn = DriverManager.getConnection(url , props); > 15: } > 16: %> > 17: </body> > > > > Stacktrace: > org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) > > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > root cause > > javax.servlet.ServletException: org.postgresql.util.PSQLException: Protocol > error. Session setup failed. > > org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) > org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) > org.apache.jsp.jsp.pgtest_jsp._jspService(pgtest_jsp.java:80) > > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) > > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > root cause > > org.postgresql.util.PSQLException: Protocol error. Session setup failed. > > org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:402) > org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108) > org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66) > > org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125) > org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30) > org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24) > > org.postgresql.Driver.makeConnection(Driver.java:393) > org.postgresql.Driver.connect(Driver.java:267) > java.sql.DriverManager.getConnection(DriverManager.java:525) > java.sql.DriverManager.getConnection(DriverManager.java:140) > > org.apache.jsp.jsp.pgtest_jsp._jspService(pgtest_jsp.java:68) > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > > On Wed, Mar 10, 2010 at 8:01 PM, Major Services <services.major@gmail.com> > wrote: >> >> Hi, >> Following is the error report: >> >> org.apache.jasper.JasperException: Unable to compile class for JSP: >> >> An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp >> Properties cannot be resolved to a type >> >> >> 10: { >> 11: Class.forName("org.postgresql.Driver"); >> 12: String url = >> "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; >> 13: Properties props = new Properties(); >> >> 14: props.setProperty("loglevel","2"); >> >> 15: Connection conn = DriverManager.getConnection(url, props); >> 16: } >> >> Thanks >> >> On Wed, Mar 10, 2010 at 4:02 AM, Mark Kirkwood >> <mark.kirkwood@catalyst.net.nz> wrote: >>> >>> Major Services wrote: >>>> >>>> I am trying to connect to PostgreSQL database on my local system. >>>> >>>> The code is: >>>> >>>> Class.forName("org.postgresql.Driver"); >>>> String url = >>>> "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; >>>> Connection conn = DriverManager.getConnection(url); >>>> >>>> Running the code I get: >>>> >>>> org.postgresql.util.PSQLException: Protocol error. Session setup failed. >>>> >>>> Using postgresql-8.4-701.jdbc3 on PostgreSql 8.4 >>>> >>>> >>>> >>>> >>>> >>> >>> Try adding some debug info (will help us see what is going on) - e.g: >>> >>> >>> Class.forName("org.postgresql.Driver"); >>> String url = >>> "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; >>> >>> Properties props = new Properties(); >>> props.setProperty("loglevel","2"); >>> >>> Connection conn = DriverManager.getConnection(url, props); >>> >>> >>> >>> regards >>> >>> Mark >> > >
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Mark Kirkwood
Date:
Oh dear - probably missing imports or something in your code. Maybe try running a standalone java program from the command line (see below), as thats what I used to check this: $ export CLASSPAT=path-to-your-postgresql.jar:. $ java test1 ---- test1.java --- import java.sql.*; import java.util.*; public class test1 { public static void main( String args[] ) throws Exception { Class.forName("org.postgresql.Driver"); String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; Properties props = new Properties(); props.setProperty("loglevel","2"); Connection conn = DriverManager.getConnection(url, props); System.out.println( "Connected to: " + url ); conn.close (); } } Major Services wrote: > Hi, > Following is the error report: > > org.apache.jasper.JasperException: Unable to compile class for JSP: > > An error occurred at line: 13 in the jsp file: /jsp/pgtest.jsp > Properties cannot be resolved to a type > > 10: { > 11: Class.forName("org.postgresql.Driver"); > 12: String url = "jdbc:postgresql://localhost:5432/postgres?user=postgres&password=major"; > 13: Properties props = new Properties(); > 14: props.setProperty("loglevel","2"); > > 15: Connection conn = DriverManager.getConnection(url, props); > 16: } >
Re: org.postgresql.util.PSQLException: Protocol error. Session setup failed
From
Mark Kirkwood
Date:
Make that CLASSPATH sorry...! I wrote: > > $ export CLASSPAT=path-to-your-postgresql.jar:.
Mark Kirkwood wrote: > Make that CLASSPATH sorry...! > > I wrote: >> >> $ export CLASSPAT=path-to-your-postgresql.jar:. Only don't use CLASSPATH, use the "-classpath" (a.k.a., "-cp") option to the "java" command. -- Lew
Major Services wrote: > Output is : Output of what? > //============================================================ // Main > public access point method for instantiating the // PostgreSQL_JDBC > application. Arguments: database, username, // & password. // > ============================================================== public > static void main(String[] args) throws SQLException, > InstantiationException, IllegalAccessException, ClassNotFoundException, > InterruptedException { String host, database, username, password; > Connection dbConnection; // Collect connection properties. and setup > connection. //host = "cindy"; host = "localhost"; if (args.length != 0) > { database = args[0]; username = (args.length > 1) ? args[1] : null; > password = (args.length > 2) ? args[2] : null; } else { database = > "postgres"; username = "postgres"; password = "major"; } dbConnection = > null; Class.forName("org.postgresql.Driver").newInstance(); dbConnection > = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + > database, username, password); System.out.println("Connection Created"); > new PostgreSQL_JDBC(dbConnection); // Close. dbConnection.close(); > System.out.println("Connection Closed"); } Wow, that is some unreadable source code. I see nothing here that sheds light on your question, though. What caught my eye in what dmp wrote: is > public static void main(String[] args) throws SQLException, > InstantiationException, > IllegalAccessException, ClassNotFoundException, > InterruptedException If you don't handle the exceptions, perhaps even with logging, it's harder to diagnose what went wrong. I am also curious why the declaration of 'InterruptedException' is in the throws list. > { > String host, database, username, password; > Connection dbConnection; Declared but not instantiated - correct enough except that ... > dbConnection = null; assigned here, then > Class.forName("org.postgresql.Driver").newInstance(); > dbConnection = DriverManager.getConnection("jdbc:postgresql://" > + host + "/" + database, username, > password); the value is replaced here. It's a best practice in Java to declare variables within the scope of use, and close to the point of use. It doesn't make much sense to assign a value to the variable that is never used, just thrown away. Also that argument applies to the invocation of 'newInstance()'. The driver registers itself with the driver manager on class initialization; the creation of an instance does nothing but waste time. User code never directly uses driver instances. -- Lew