Re: JDBC Connection Issue
 
Joel Ross wrote:
markspace wrote:
jross wrote:
JDBC Driver:     mysql-connector-java-2.0.14-bin.jar
JAVA:         j2sdk1.4.2_10
These two are very old.  Can you upgrade?  Java in on version 6 now, 4 
is no longer supported, and 5 is past EOL for free (unpaid) customers. 
A 2.0 Connector appears to be ancient.  5 is the current version, 3 is 
the earliest still available on MySQL's website.
Unfortunately these two version are what we are using I have tried 
mysql-connector 3 and I still have the same issues. We are looking into 
updating java in the future but at the moment it's too much work because 
of all the new changes.
OK, fair enough.  I don't have either of those versions on my system 
here, so any testing I do of your program is going to use a different 
runtime and a different Connect/J.  If I find no issues... well, it 
won't mean that much for you, will it.
Other idea: what version of MySQL are you connecting to?
OK, I notice a couple of things.  One, when I first tried your program, 
I was surprised that it ran, because I didn't add my own password and 
user name yet.  Then I noticed that you're printing only the 
getMessage() of the exception, which is easy to miss, and rarely set to 
anything useful.  Please modify your Java program to print the entire 
exception and stack trace.  I made those changes below, I think you 
could be missing an error trace from the Java program, just like I did.
Also, what happens if you don't run the Perl program, just the Java?  If 
it's Perl that causes the problem, I'd guess that the problem is in 
Perl, not Java. Please try to get the Java program to fail by itself.
Test program with better error reporting below:
package mysqltest;
import java.sql.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
class test
{
     Connection conn;
     public static void main( String[] args ) throws Exception
     {
         new test();
     }
     public test() throws Exception
     {
             PrintWriter result = null;
//            File logFile = new File( "/tmp/socket/debug.log" );
             result =
//                    new PrintWriter( new FileOutputStream( 
//logFile.getName() ) );
                     new PrintWriter( System.out );
             DriverManager.setLogWriter( result );
             Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
             String url =
 
"jdbc:mysql://127.0.0.1/pos?autoReconnect=true&socketTimeout=120";
             conn = DriverManager.getConnection( url, "user", "passwd" );
             doSelectTest();
             conn.close();
     }
     private void doSelectTest() throws Exception
     {
         System.out.println( "[OUTPUT FROM SELECT]" );
         String query = "SELECT * FROM Table;";
             Statement st = conn.createStatement();
             ResultSet rs = st.executeQuery( query );
             while( rs.next() )
             {
                 String s = rs.getString( "column" );
                 System.out.println( s );
             }
     }
}