Re: ClassNotFoundException

From: Stijn Verholen (sverholen_at_skynet.be)
Date: 12/08/04

  • Next message: Stijn Verholen: "Re: newbie"
    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


  • Next message: Stijn Verholen: "Re: newbie"

    Relevant Pages

    • Re: jdbc permissions
      ... Using the SQL Server 2000 Driver for JDBC on a Java 2 Platform ... additional permissions. ...
      (microsoft.public.sqlserver.server)
    • Re: Possible Type Conversion Defect
      ... Specifically we are breaking due to the lack of conversion from BIGINT to ... Microsoft SQL Server 2000 JDBC driver. ... I'll agree that the JDBC API specifications could be a bit more precise. ... a JDBC driver attempts to convert the underlying data to the Java ...
      (microsoft.public.sqlserver.jdbcdriver)
    • Re: Microsoft Access DB Driver for JDBC
      ... The jdbc odbc bridge works but ... >> There is no JDBC driver for Access. ... > poster says it works) to allow Java apps to talk to any ODBC datasource. ...
      (comp.lang.java.programmer)
    • path question
      ... I'm just started off with databases and jdbc. ... I load the driver by: ... copy the com/org directories to some dir and include them in the java ... For the classpath as well, ...
      (comp.lang.java.databases)
    • Stuff the purple heart programmers cook up
      ... C To act like a framework for the JDBC driver developers. ... D To hide the specifics of accessing particular kinds of database ... Topic: Java 2: Survey Author: Chris Mc Devitt ... The JDBC ResultSet is actually an interface java.sql.ResultSet. ...
      (comp.lang.java.programmer)