Received: from ooc.ooc.com (ooc.ooc.com [207.60.240.130]) by hub.org (8.9.3/8.9.3) with ESMTP id OAA84498 for ; Sat, 15 May 1999 14:44:27 -0400 (EDT) (envelope-from benoit@ooc.com) Received: from ooc.com (kirk.ooc.com [207.60.240.142]) by ooc.ooc.com (8.8.7/8.8.7) with ESMTP id OAA22086; Sat, 15 May 1999 14:41:12 -0400 Message-ID: <373DC09D.772323F5@ooc.com> Date: Sat, 15 May 1999 14:44:50 -0400 From: Benoit Foucher Reply-To: benoit@ooc.com Organization: Object Oriented Concepts X-Mailer: Mozilla 4.51 (Macintosh; I; PPC) MIME-Version: 1.0 To: Keith/Suzanne Barron CC: pgsql-interfaces@postgreSQL.org Subject: Re: [INTERFACES] Problem loading jdbc driver in servlet, but not in program References: <373D9FD8.198A35D5@barron.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I think it's a configuration problem of your servlet engine. I use JServ from java.apache.org and I had to add the postresql.jar archive to the classpath environment variable in the config file of the servlet engine. Here's a part of my configuration file: # CLASSPATH environment variable passed to the JVM wrapper.classpath=/usr/local/lib/ApacheJServ.jar wrapper.classpath=/usr/local/lib/postresql.jar wrapper.classpath=/usr/local/lib/gnujsp.jar (you'll probably have to restart your web server to restart the servlet engine...) Hope this will help you... Cheers Benoit Foucher Keith/Suzanne Barron wrote: > > I have two simple programs, one is a regular java program, the other > is a java servlet. > When I try to run the servlet, I get "Could not load database driver". > Any ideas on why this > happens? > > -Keith > > Here are the programs: > > 1. regular java program: > > import java.io.*; > import java.sql.*; > import javax.servlet.*; > import javax.servlet.http.*; > > public class DBPhoneLookup { > > public static void main (String args[]) throws > ClassNotFoundException, FileNotFoundException, IOException, > SQLException { > > try { > Connection con = null; > Statement stmt = null; > ResultSet rs = null; > String url = "jdbc:postgresql:school"; > String usr = "postgres"; > String pwd = "postgres"; > > // Load (and therefore register) the Postgres driver > Class.forName("postgresql.Driver"); > > // Get a connection to the database > con = DriverManager.getConnection(url, usr, pwd); > > // Create a Statement object > stmt = con.createStatement(); > > // Execute an SQL query, get a ResultSet > rs = stmt.executeQuery("Select first_name from students"); > > // Display the result set as a list > while (rs.next()) { > System.out.println(rs.getString("first_name")); > } > > con.close(); > } > > catch(ClassNotFoundException e) { > System.out.println("Could not load database driver: " + > e.getMessage()); > } > } > } > > 2. servlet program: > > import java.io.*; > import java.sql.*; > import javax.servlet.*; > import javax.servlet.http.*; > > public class DBPhoneLookup > extends HttpServlet { public void doGet (HttpServletRequest req, > HttpServletResponse res) throws > ServletException, IOException { > > Connection con = null; > Statement stmt = null; > ResultSet rs = null; > res.setContentType("text/html"); > PrintWriter out = res.getWriter(); > > try { > String url = "jdbc:postgresql:school"; > String usr = "postgres"; > String pwd = "postgres"; > > // Load (and therefore register) the Postgres driver > Class.forName("postgresql.Driver"); > > // Get a connection to the database > con = DriverManager.getConnection(url, usr, pwd); > > // Create a Statement object > stmt = con.createStatement(); > > // Execute an SQL query, get a ResultSet > rs = stmt.executeQuery("Select first_name from students"); > > // Display the result set as a list > out.println(""); > out.println(""); > out.println(""); > while (rs.next()) { > out.println(" " + rs.getString("first_name")); > } > out.println(" "); > } > > catch(ClassNotFoundException e) { > out.println("Could not load database driver: " + > e.getMessage()); } > > catch(SQLException e) { > out.println("SQLException caught: " + e.getMessage()); } > > finally { > // Always close the database connection > try { if (con != null) con.close(); } > catch (SQLException ignored) { } > } > } > }