Re: ClassNotFoundException
From: Stijn Verholen (sverholen_at_skynet.be)
Date: 12/08/04
- Previous message: Tjerk Wolterink: "Re: ClassNotFoundException"
- In reply to: Jorge Cecílio: "ClassNotFoundException"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 08 Dec 2004 00:12:39 +0100
Jorge Cecílio wrote:
> 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
>
>
>
>
>
Your post is quite long.
A ClassNotFoundException is simply java telling u it cannot find a class
that u are trying to load, in this case: com.informix.jdbc.IfxDriver.
I assume this class is in a jar.
U can use the system classpath to include the path to this jar, or use
the -cp option from java.exe to specify where the jar resides.
For example, if your informix driver is located in a jar called
informix.jar, residing in the same directory as where u call java.exe to
start your application, the command would be:
java -cp informix.jar <your.class>
hth
Stijn
- Previous message: Tjerk Wolterink: "Re: ClassNotFoundException"
- In reply to: Jorge Cecílio: "ClassNotFoundException"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|