db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sisilla <sisill...@gmail.com>
Subject Re: java method called from a JSP cannot load ClientDriver
Date Wed, 06 Dec 2006 18:36:02 GMT

Thank you, Lance, for your help. I installed the driver in common/lib, and
the JSP is working now. I greatly appreciate this. ~Sisilla

Lance J. Andersen wrote:
> 
> Where is the driver installed in tomcat and how are you accessing it?  
> Normally the drivers would go in common/lib and you would create an 
> entry in the server.xml to access the DataSource
> 
> Sisilla wrote:
>> 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#a7725085
Sent from the Apache Derby Users mailing list archive at Nabble.com.


Mime
View raw message