ClassNotFoundException with JDBC
Posted in 2004
Hi all I'm having no "luck" trying my first-time connect to an I-SE server from a Java application, using JDBC. I'm always getting then error: "Error: java.lang.ClassNotFoundException: com.informix.jdbc.IfxDriver" I suspect the problem is in my CLASSPATH system variable, but I don't know how to set it. Or, perhaps, the strings I'm using aren't correct. Facts: 1) My network is "up and running"; 2) Informix-SE is on a Unix remote machine; 3) My Java app is on Windows XP Home; 4) Informix Client-SDK 2.81 TC3 is installed on XP; 5) ODBC has no problems (I've an MS-Access app that retrieves data from my SE server. My Java app, with JDBC-ODBC bridge, also works fine); 6) Using Informix Client-SDK dbping, every connection are made successfully, except... JDBC!; 7) In JDBC dbping tab, only "com.informix.jdbc.IfxDriver" seems to be the right value since the other two options appears to be for db2 (COM.ibm.db2.jdbc.app.DB2Driver and COM.ibm.db2.jdbc.net.DB2Driver) 8) I'm trying protocol "jdbc:informix-sqli". The other option is "jdbc:db2" (dbping); 9) My Java app: try { //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //jdbc-odbc bridge: works fine! Class.forName("com.informix.jdbc.IfxDriver"); } catch(java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); } try { //String url = "jdbc:odbc:ifx_dsn"; //jdbc-odbc bridge: works fine! String url = "jdbc:informix-sqli" Connection con = DriverManager.getConnection(url, "login", "password"); Statement stmt = con.createStatement(); //retrieval of values (...) } stmt.close(); con.close(); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } On JDBC dbping tab is written "This Utility assumes that you have a JDBC driver installed and a CLASSPATH set before running DBPING" a) What do they mean by having a JDBC driver installed? Isn't this driver installed when I installed Informix-SDK? If not, how can I get it? b) Do I have to do something like I did to the ODBC driver (by creating and configuring a DSN)? Where and how? c) I know CLASSPATH system variable isn't set. Should I set it in my system? By what value? By a path within Informix-SDK folders? Should CLASSPATH be set anywhere else (e.g. setnet32)? I suspect the problem is in my CLASSPATH system variable, but I don't know how to set it. Or, perhaps, the strings I'm using aren't correct. Can Anyone help? Thanks in advance, Jorge Cecilio