Hello All, I am using a java program (code shown below) to insert some records into a derby database table. The method addNewClient is called from a JSP served from Tomcat, but it throws a ClassNotFoundException as well as an SQL Exception. The method is unable to find or load the ClientDriver. I believe my CLASSPATH is set up correctly since I was able to insert the records into the table with a Test.java program I wrote by modifying the code below to contain a main method which I executed it on the command line.
What might I be doing wrong here? I am running Derby 10.2.1.6 and Tomcat 5.5.9 on Windows XP Pro. I am also using Netbeans IDE 5.0. I greatly appreciate any help. Thanks, Sisilla package Sales; import java.sql.*; public class NewClient { public NewClient() { } public boolean addNewClient(String company, String industry, String otherindustry, String contact, String countrycode, String areacode, String number, String email, String address1, String address2, String city, String country, String fcountrycode, String fareacode, String fnumber, String website) { // ## DEFINE VARIABLES SECTION ## // define the driver to use String driver = "org.apache.derby.jdbc.ClientDriver"; // the database name String dbName="ETMApp"; // define the Derby connection URL to use String connectionURL = "jdbc:derby://localhost:1527/" + dbName + ";create=true"; Connection conn = null; Statement s; String telephone = countrycode + areacode + number; String fax = fcountrycode + fareacode + fnumber; if (industry == "") industry = otherindustry; String st = "'" + company + "', '" + industry + "', '" + contact + "', '" + telephone + "', '" + email + "', '" + address1 + "', '" + address2 + "', '" + city + "', '" + country + "', '" + fax + "', '" + website + "'"; String createString = "INSERT INTO APP.Client(company, industry, contact, telephone, email, address1, address2, city, country, fax, website) VALUES(" + st + ")"; // Beginning of JDBC code sections // ## LOAD DRIVER SECTION ## try { /* ** Load the Derby driver. ** Catch an error and suggest a CLASSPATH problem */ Class.forName(driver); System.out.println(driver + " loaded. "); } catch(java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); System.out.println("\n >>> Please check your CLASSPATH variable <<<\n"); } // ## BOOT DATABASE SECTION ## try { // Create (if needed) and connect to the database conn = DriverManager.getConnection(connectionURL, "app", ""); System.out.println("Connected to database " + dbName); // Create a statement to issue INSERT commands. s = conn.createStatement(); System.out.println (" . . . . INSERTing VALUES into TABLE Client"); if (s.executeUpdate(createString) != 0) //INSERT successful return true; else return false; //INSERT unsuccessful } catch (Throwable e) { /* Catch all exceptions and pass them to ** the exception reporting method */ System.out.println(" . . . exception thrown:"); errorPrint(e); return false; //INSERT unsuccessful } } // ## DERBY EXCEPTION REPORTING CLASSES ## /*** Exception reporting methods ** with special handling of SQLExceptions ***/ static void errorPrint(Throwable e) { if (e instanceof SQLException) SQLExceptionPrint((SQLException)e); else { System.out.println("A non SQL error occured."); e.printStackTrace(); } }// END errorPrint // Iterates through a stack of SQLExceptions static void SQLExceptionPrint(SQLException sqle) { while (sqle != null) { System.out.println("\n---SQLException Caught---\n"); System.out.println("SQLState: " + (sqle).getSQLState()); System.out.println("Severity: " + (sqle).getErrorCode()); System.out.println("Message: " + (sqle).getMessage()); sqle.printStackTrace(); sqle = sqle.getNextException(); } }// END SQLExceptionPrint } -- View this message in context: http://www.nabble.com/java-method-called-from-a-JSP-cannot-load-ClientDriver-tf2768547.html#a7720814 Sent from the Apache Derby Users mailing list archive at Nabble.com.