---------------------------------------------------------------- BEFORE YOU POST, search the faq at <http://java.apache.org/faq/> WHEN YOU POST, include all relevant version numbers, log files, and configuration files. Don't make us guess your problem!!! ---------------------------------------------------------------- Running the following: Win2K Advanced Server. SQL Server 7. JDK 1.3 Apache/1.3.12 (Win32) ApacheJServ/1.1 An application that reads a database through jdbc:odbc driver works, while the same code in a servlet does not. The attempt to process the statement resulted in a bad object being requested in the database. I'd checked paths, classpaths and other config items, and then found the problem. (BUT I STILL WANT TO KNOW WHY.) As it turned out, JDBC via an application opened the connection with the catalog as specified in the ODBC administrator. But when an ODBC connection was opened through a servlet running in JServ, the connection was opened with the default catalog. I had to explicitly set it to the correct one, which throws a SQL Exception - which must be ignored. Does anyone know why this happens? Following is the information I'd collected as support. Maybe it'll still help... Here's the java app (which works): ____________________________________________________________________________ _______ import java.sql.*; public class JDBCTest { public static void main( String args[]){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:Crescent", "", ""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM DISTRIBUTORS ORDER BY STATE"); while (rs.next()) { String s1 = rs.getString("Company Name"); String s2 = rs.getString("Address 1"); String s3 = rs.getString("State"); System.out.println(s3 + " " + s1 + " " + s2); } } catch (Throwable t){ System.out.println(t); } } } **************************************************************************** ******* ...and here's the servlet (which doesn't - see log entry below): ____________________________________________________________________________ _______ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class Servlet3 extends HttpServlet { public static final String TITLE = "JDBC Fetcher"; protected Connection con; public void init(ServletConfig config) throws ServletException { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:Crescent", "", ""); } catch ( Throwable t) { throw new ServletException("In init(): " + t.toString()); } } public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // set content type and other response header fields first response.setContentType("text/html"); // get the communication channel with the requesting client PrintWriter out = response.getWriter(); // get the server identification String server = getServletConfig().getServletContext().getServerInfo(); // write the data out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">" + "<HTML>" + "<HEAD>" + " <TITLE>" + TITLE + "</TITLE>" + " <META NAME=\"Author\" CONTENT=\"" + server + "\">" + "</HEAD>" + "<BODY BGCOLOR=\"#FFFFFF\">" + " <H1>" + TITLE + "</H1>" + " <H2>Congratulations, " + server + " is working!</H2>" + " <H3>[ local time is <font color='#FF9900'>" + new java.util.Date() + "</font> ]</H3>" + " <FONT SIZE=\"-1\">Copyright (c) 1997-99" + " <A HREF=\"http://java.apache.org/\">The Java Apache Project</a><br>" + " All rights reserved.</FONT>" + " </CENTER>"); out.println("<H1>Distributors<P><TABLE>"); try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM DISTRIBUTORS ORDER BY STATE"); while (rs.next()) { String s1 = rs.getString("Company Name"); String s2 = rs.getString("Address 1"); String s3 = rs.getString("State"); System.out.println(s1 + " " + s2); out.println("<TR><TD>" + s3 + "</TD><TD>" + s1 + "</TD><TD>" + s2 + "</TD></TR>"); } } catch ( Throwable t) { throw new ServletException("In service(): " + t.toString()); } out.println("</TABLE>"); out.println("</BODY>" + "</HTML>"); } } **************************************************************************** ******* Relevant non-commented lines from jserv.properties: ____________________________________________________________________________ _______ wrapper.path=C:\WINNT\system32;C:\WINNT;D:\infra\jdk1.3\bin;D:\infra\jdk1.3\ jre\bin wrapper.classpath=. wrapper.classpath=D:\infra\jdk1.3\jre\lib\rt.jar wrapper.classpath=D:\infra\JServ1.1\ApacheJServ.jar wrapper.classpath=D:\infra\jsdk2.0\lib\jsdk.jar wrapper.classpath=D:\infra\j2sdkee1.2.1\lib\j2ee.jar wrapper.classpath=D:\infra\j2sdkee1.2.1\lib\ejb10deployment.jar wrapper.env=windir=C:\WINNT **************************************************************************** ******* -- -------------------------------------------------------------- Please read the FAQ! <http://java.apache.org/faq/> To subscribe: [EMAIL PROTECTED] To unsubscribe: [EMAIL PROTECTED] Archives and Other: <http://java.apache.org/main/mail.html> Problems?: [EMAIL PROTECTED]