Error loading JDBC driver
Hi,
I have an rpt file developed in crystal report 2008. it connects to SQL Server using ODBC(RDO) connection. I have a jsp file that needs to change the datasource to use JDBC (JNDI). The scriptlet for changing datasource is given below. I have my sqljdbc.jar in the web-inf\lib folder of my application as well as in \server\{server_name}\lib folder. when I try to run the jsp it gives me error as follows :
ERROR [com.businessobjects.reports.sdk.JRCCommunicationAdapter] detected an exception: Error loading JDBC driver. The class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' could not be found.
at com.crystaldecisions.reports.queryengine.Connection.t1(Unknown Source)
at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.for(Unknown Source)
at com.crystaldecisions.reports.reportdefinition.ReportHelper.a(Unknown Source)
at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.long(Unknown Source)
at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(Unknown Source)
at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.byte(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)
at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ds.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at ....
<br>
<br>
Scriptlet :
<%
//Report can be opened from the relative location specified in the CRConfig.xml, or the report location
//tag can be removed to open the reports as Java resources or using an absolute path (absolute path not recommended
//for Web applications).
final String DBUSERNAME = "sa";
final String DBPASSWORD = "password";
final String CONNECTION_STRING = "!com.microsoft.jdbc.sqlserver.SQLServerDriver!jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=;user=;password=";
final String TRUSTEDCON = "false";
final String PREQESERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
final String SERVERTYPE = "JDBC (JNDI)";
final String DATABASE_DLL = "crdb_jdbc.dll";
final String DATABASE = "bssc";
final String DBCLASSNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
final String USEJDBC = "true";
final String DATABASE_NAME = "bssc";
final String SERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
final String CONNECTIONURL = "jdbc:microsoft:sqlserver://localhost:1433";
final String SERVER = "localhost";
%>
<%
final Logger logger = Logger.getLogger(ReportAction.class.getName());
final String REPORT_NAME = "../reports/Krt.rpt";
try {
ReportClientDocument oReportClientDocument = new ReportClientDocument();
oReportClientDocument.open(REPORT_NAME, 0);
// Create the two connectioninfo objects to use
IConnectionInfo oldConnectionInfo = new ConnectionInfo();
IConnectionInfo newConnectionInfo = new ConnectionInfo();
// Assign the old Connection info to the reports current info
DatabaseController dbController = oReportClientDocument.getDatabaseController();
oldConnectionInfo = dbController.getConnectionInfos(null).getConnectionInfo(0);
// If this connection needed parameters, we would use this field.
Fields pFields = null;
// Create a new propertybag for the new location
PropertyBag boPropertyBag1 = new PropertyBag();
// Set new table logon properties
boPropertyBag1.put("JDBC Connection String", CONNECTION_STRING);
boPropertyBag1.put("Trusted_Connection", TRUSTEDCON);
boPropertyBag1.put("PreQEServerName", PREQESERVERNAME);
boPropertyBag1.put("Server Type", SERVERTYPE);
boPropertyBag1.put("Database DLL", DATABASE_DLL);
boPropertyBag1.put("Database", DATABASE);
boPropertyBag1.put("Database Class Name", DBCLASSNAME);
boPropertyBag1.put("Use JDBC", USEJDBC);
boPropertyBag1.put("Database Name", DATABASE_NAME);
boPropertyBag1.put("Server Name", SERVERNAME);
boPropertyBag1.put("Connection URL", CONNECTIONURL);
boPropertyBag1.put("Server", SERVER);
// Assign the properties to the connection info
newConnectionInfo.setAttributes(boPropertyBag1);
// Set the DB Username and Pwd
newConnectionInfo.setUserName(DBUSERNAME);
newConnectionInfo.setPassword(DBPASSWORD);
// The Kind of connectionInfos is SQL
newConnectionInfo.setKind(ConnectionInfoKind.SQL);
// set the parameters to replace.
// The 4 options are:
// _doNotVerifyDB
// _ignoreCurrentTableQualifiers
// _mapFieldByRowsetPosition
// _useDefault
int replaceParams = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
// Now replace the connections
dbController.replaceConnection(oldConnectionInfo, newConnectionInfo, pFields, replaceParams);
%>
<%
//Report can be opened from the relative location specified in the CRConfig.xml, or the report location
//tag can be removed to open the reports as Java resources or using an absolute path (absolute path not recommended
//for Web applications).
final String DBUSERNAME = "sa";
final String DBPASSWORD = "password";
final String CONNECTION_STRING = "!com.microsoft.jdbc.sqlserver.SQLServerDriver!jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=;user=;password=";
final String TRUSTEDCON = "false";
final String PREQESERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
final String SERVERTYPE = "JDBC (JNDI)";
final String DATABASE_DLL = "crdb_jdbc.dll";
final String DATABASE = "bssc";
final String DBCLASSNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
final String USEJDBC = "true";
final String DATABASE_NAME = "bssc";
final String SERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
final String CONNECTIONURL = "jdbc:microsoft:sqlserver://localhost:1433";
final String SERVER = "localhost";
%>
<%
final Logger logger = Logger.getLogger(ReportAction.class.getName());
final String REPORT_NAME = "../reports/Krt.rpt";
try {
ReportClientDocument oReportClientDocument = new ReportClientDocument();
oReportClientDocument.open(REPORT_NAME, 0);
// Create the two connectioninfo objects to use
IConnectionInfo oldConnectionInfo = new ConnectionInfo();
IConnectionInfo newConnectionInfo = new ConnectionInfo();
// Assign the old Connection info to the reports current info
DatabaseController dbController = oReportClientDocument.getDatabaseController();
oldConnectionInfo = dbController.getConnectionInfos(null).getConnectionInfo(0);
// If this connection needed parameters, we would use this field.
Fields pFields = null;
// Create a new propertybag for the new location
PropertyBag boPropertyBag1 = new PropertyBag();
// Set new table logon properties
boPropertyBag1.put("JDBC Connection String", CONNECTION_STRING);
boPropertyBag1.put("Trusted_Connection", TRUSTEDCON);
boPropertyBag1.put("PreQEServerName", PREQESERVERNAME);
boPropertyBag1.put("Server Type", SERVERTYPE);
boPropertyBag1.put("Database DLL", DATABASE_DLL);
boPropertyBag1.put("Database", DATABASE);
boPropertyBag1.put("Database Class Name", DBCLASSNAME);
boPropertyBag1.put("Use JDBC", USEJDBC);
boPropertyBag1.put("Database Name", DATABASE_NAME);
boPropertyBag1.put("Server Name", SERVERNAME);
boPropertyBag1.put("Connection URL", CONNECTIONURL);
boPropertyBag1.put("Server", SERVER);
// Assign the properties to the connection info
newConnectionInfo.setAttributes(boPropertyBag1);
// Set the DB Username and Pwd
newConnectionInfo.setUserName(DBUSERNAME);
newConnectionInfo.setPassword(DBPASSWORD);
// The Kind of connectionInfos is SQL
newConnectionInfo.setKind(ConnectionInfoKind.SQL);
// set the parameters to replace.
// The 4 options are:
// _doNotVerifyDB
// _ignoreCurrentTableQualifiers
// _mapFieldByRowsetPosition
// _useDefault
int replaceParams = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
// Now replace the connections
dbController.replaceConnection(oldConnectionInfo, newConnectionInfo, pFields, replaceParams);
%>
I am not sure why it is not able to get the Driver since the required jar is there in lib folder? Am I missing something ?
Edited by: sb-onward on Jul 30, 2009 6:01 PM
Hi,
Make sure you have set the Classpath in CRConfig.xml for the jdbc jar.
Place the CrConfig.xml in the classes directory of your application.
Please let me know the results.
Regards,
Neeraj
Similar Messages
-
Initialization error: Loading jdbc driver
Hi ,
In a file-XI-JDBC scenario, i am getting this error. "Initialization error: Loading jdbc driver 'com.microsoft.jdbc.sqlserver.SQLServerDriver' failed: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver".
but i have installed/deployed third party SQL driver on J2ee server thru SDM.
Can any one sort out this problem.
Rgds
SridharHi,
try looking into the log viewer in Vsual Administrator. Usually you can find more information about the problem there.
Also try redeploying the driver again.
cheers,
naveen -
Sun IDM Repositor Configuration Error: Failed to load JDBC Driver
Hi Gurus,
I am new to Java IDM and predictably failed in my first attempt to install Java IDM in a Windows machine with SQL Server 2000 SP3.
I followed the Installation document step by step and I think I din' t miss any!!.. But still I got caught by an error, here it is:
I successfully installed IDM but failed while configuring Repository. I have downloaded the JDBC driver from Microsoft for SQL Server 2000, SP3. Then after that I copied the Jar from JDBC driver folder to
%WSHOME%/bin/lib folder. After this I launched the Repository configuration setup.
I got the following error while trying to connect the waveset database with Repository type as SQL Server (JDBC Driver)
com.waveset.util.ConfigurationError: Failed to load JDBC Driver 'com.microsoft.sqlserver.jdbc.SQLServerDriver':
==> java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
The Parameters that I have given for connection are:
URL: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=waveset
JDBC Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
Connect as User: waveset
Connect Password: waveset
I have created the database and granted all access to user waveset.
Please help me come out of this. I tried dropping and recreating the database with a different name. Still it did not work, looks like it is a JDBC driver specific issue. Please guide me if I did anything wrong.
Appreciate any help
ThanksOpen your driver jar using winzip or something and check if the class: com.microsoft.sqlserver.jdbc.SQLServerDriver is present in the jar. I think you need to use a different class name. or your jar file is wrong. I think there are separate jars for SQL server 2000 and for SQL Server 2005.
-
Beginner Has Problem With Loading JDBC Driver Using MySQL
Hi, I am having problem with loading JDBC driver, and need your diagnotic help.
1. I have installed MySQL (C:\mysql), created a databse (soup), and created a littel table (VIDEOS). I am able to see the table in the console:
sql> select * from videos
2. I have downloaded the latest version of Connector/J (mysql-connector-java-3.1.0-alpha.zip), and unzip the zip file into my C:\ directory.
3. I copied the mysql-connector-java-3.1.0-alpha-bin.jar to the C:\j2sdk1.4.1_02\jre\lib\ext folder and it is in my CLASSPATH
4. MySQL server is running
C:\> C:\mysql\bin\mysqld-nt --standalone
5. open another DOS window and use the database
mysql>USE SOUP
6. succesfully compiled a Java program (javac Test.java):
import java.sql.* ;
public class Test
public static void main( String[] args )
try
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
try
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/soup" );
try
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery("SELECT TITLE FROM VIDEOS");
while ( rs.next() )
System.out.println( rs.getString( "TITLE" ) );
rs.close();
statement.close();
catch ( SQLException e )
System.out.println( "JDBC error: " + e );
finally
con.close();
catch( SQLException e )
System.out.println( "could not get JDBC connection: " + e );
catch( Exception e )
System.out.println( "could not load JDBC driver: " + e );
7. when I run the Java program (java Test), I got
the message:
could not load JDBC driver: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
What am I missing?Hi,
I missed to specify test in my last post.
Try running your program by explicitly setting the classspath when
running your program . java -classpath c:\mysql-connector-java-3.1.0-alpha-bin.jar test
Make sure your jar file contains org.gjt.mm.mysql.Driver class -
Java.sql.SQLException: Cannot load JDBC driver class 'null'
Hi,
I am a beginner of using jdbc, i use the tomcat4.1.x, mysql3.23.54 and it's jdbc driver 2.0.14. I place the drive <in jar file> in tomcat/commons/lib and configure the server.xml, web.xml and some testing coding. But there are some error like the following:
java.sql.SQLException: Cannot load JDBC driver class 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312)
at foo.DBTest.init(DBTest.java:18)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:48)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
of course its some of the error code and there are more.
Why I have this problems and how can I fix it? Can someone help me??
Thanks,
Tong
I place my test.jsp at tomcat/webapps/DBTest and DBTest.java at tomcat/webapps/DBTest/WEB-INF/classes/foo
additional of the tomcat/conf/server.xml
<Resource name="TestDB" auth="Container" type="javax.sql.DataSource" description="MySQL TestDB"/>
<ResourceParams name="TestDB">
<parameter><name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter><name>maxActive</name><value>10</value></parameter>
<parameter><name>maxIdle</name><value>1</value></parameter>
<parameter><name>maxWait</name><value>10000</value></parameter>
<parameter><name>username</name><value>javauser</value></parameter>
<parameter><name>password</name><value>javadude</value></parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value>
</parameter>
</ResourceParams>
tomcat/webapps/DBTest/WEB-INF/web.xml :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>MySQL Test App</description>
</web-app>Post the part of your code that loads the driver and connects. My guess is you are using a variable for the name of the driver and the variable has not been set to anything(intially set to null).
Thanks
Cardwell -
Java.sql.SQLException: Cannot load JDBC driver
THis topic has been discussed many many times but I still not able to connect to Oracle 8i from my servlet using Tomcat 4.1.12 on hp-ux and java1.3
I always got: java.sql.SQLException: Cannot load JDBC driver class 'null'
In server.xml:
<Context Path="/MyApp" docBase="MyApp" debug="0" reloadable="true" >
<Resource name="jdbc/ora" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/ora" >
<parameter>
<name>username</name>
<value>myname</value>
</parameter>
<parameter> <name>password</name>
<value>mypassword</value>
</parameter>
<parameter> <name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@myhostname:1521:ora</value>
</parameter> </ResourceParams>
</Context>
In MyApp/WEB-INF/web.xml:
<resource-ref>
<res-ref-name>jdbc/ora</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
The Oracle jdbc jar file classes12.jar is under common/lib in Tomcat's home. read Permission is there.
In the servlet:
init(ServletConfig config):
Context init = new InitialContext();
Context ctx = (Context) init.lookup("java:comp/env");
dataSource = (DataSource) ctx.lookup("jdbc/acdb");
doPost(..)
the error occured at :
synchronized (dataSource){
con = dataSource.getConnection();}
Thanks in advance!Everything looks correct to me, except for one thing.
In your web.xml you have this:
<res-ref-name>jdbc/ora</res-ref-name> In your server.xml, you have this tag, which matches your web.xml:
<ResourceParams name="jdbc/ora" > But in your Java code, you've got this:
dataSource = (DataSource) ctx.lookup("jdbc/acdb"); When I've successfully set up a Web app data source, all three names had to agree. You either need to change your Java lookup name to "jdbc/ora" or change the web.xml and server.xml to "jdbc/acdb".
See if that does it. Everything else sounds correct to me. - MOD -
Can't load jdbc driver in servlet
Dear All,
I have tried to connect to MS SQL SERVER 2000 through JDBC DRIVER FOR
SQLSERVER. However I receieved an error: can't load jdbc driver class:
null.
The following steps were what I did:
1.Set up SQL Server and create a few tables and users.
2.Config Server.xml
Add the following codes in /tomcat/conf/Server.xml
<Context path="/persistence" docBase="persistence" debug="0"
reloadable="true">
<Resource name="jdbc/persistenceDB" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/PersistenceDB">
<Parameter>
<name>user</name>
<value>kitty</value>
</Parameter>
<Parameter>
<name>password</name>
<value>abc</value>
</Parameter>
<Parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</Parameter>
<Parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=persistence;selectMethod=cursor;</value>
</Parameter>
</ResourceParams>
</Context>
3.Config my web application's web.xml
Added the following piece of code in WEB.XML
<resource-ref>
<res-ref-name>jdbc/persistenceDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4.Use Datasource in my code
package persistence.database;
import java.sql.*;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import javax.servlet.ServletContext;
import persistence.*;
import com.microsoft.jdbcx.sqlserver.*;
import javax.naming.Context;
public class DatabaseAuthenticator implements Authenticator {
private DataSource ds;
public void init(ServletContext sctx) throws Exception {
InitialContext init = new InitialContext();
try{
Context ctx = (Context) init.lookup("java:/comp/env");
ds = (DataSource) ctx.lookup("jdbc/persistenceDB");
} catch (Exception e) { e.printStackTrace();
public User authenticate(String username, String password)
throws AuthenticationException, UnknownException {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs;
try {
if (ds != null) {System.out.println("Success to get
datasource");
} else {System.out.println("Failed");}
System.out.println(ds.toString());
try
conn = ds.getConnection();
catch (Exception e)
e.printStackTrace();
pstmt = conn.prepareStatement("SELECT user_id " + .........
5. put msutil.jar, mssqlserver.jar and msbase.jar under /tomcat/common/lib/.
When I tried to run the program, I receieved an error: can't load jdbc
driver class: null.
I've got no idea what's going on.
Any Suggestion?
Thanks in advance
KittyHi Kitty,
The connection you're trying to set up points to nothing :
Connection conn = null;
So, you receive a complaint that that driver cannot be loaded. Please read
http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html
download the right database driver and use that. Good luck!
Wouter van Reeven
public User authenticate(String username, String
g password)
throws AuthenticationException, UnknownException
ption {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs; -
VDS didn't start: Could not load JDBC driver
Hello,
I want to start the VDS Tutorial, but I get an error:
Exception: Data source 'Derby database' failed. Check your CLASSPATH! (in Tools
-> Options) Could not load JDBC driver 'org.apache.derby.jdbc.EmbeddedDriver'
Shutting down...
Data source 'Derby database' failed. Check your CLASSPATH! (in Tools -> Options)
Could not load JDBC driver 'org.apache.derby.jdbc.EmbeddedDriver'
But I add the derby.jar file in the VDS under Tools - Options - Classpath
Have you any ideas...?!I try to start the server without the tutorial and that works...
-
New e-Sourcing 5.0 Install - Error checking JDBC Driver version
Hi All,
I am currently attempting to install an e-Sourcing 5.0 Patch Level E instance on a Windows system using Oracle 10.2.0.3 and WebLogic 8.1 SP4. e-Sourcing's installation and configuration complete without issue. The schema in the database is loaded with the e-Sourcing tables and data.
However, when attempting to deploy the ear file via WebLogic, I receive the following JDBC error:
Error checking JDBC Driver version. Detail: Error: found unsupported JDBC Driver name: Oracle JDBC driver version: 10.1.0.2.0.
The JDBC driver in use is from my Oracle install ..\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar
I've also tried classes12.jar for versions 9.2.0.8, 10.1.0.2, and 10.2.0.1 but always receive the same error (...driver version: 10.1.0.2.0...) message regardless of the version of driver I am using.
Error Log:
*** Starting Frictionless SRM (5.0.00 E build 08-Apr-2008.16:46) 2009-10-14 20:33:40.656 local3 DEBUG class=ConfigDatabase;server=CAGTAW804886;method=loadFromServletContext();thread=ExecuteThread: '4' for queue: 'weblogic.kernel.System' Cached weblogic.httpd.servlet.reloadCheckSecs=-1 from servlet context
2009-10-14 20:33:40.681 INFO local3 ExecuteThread: '4' for queue: 'weblogic.kernel.System' Disabling logging blackbox support
Unable to start server: unable to connect to the database: oracle [localhost:1521:orcl (SAP/SAP)]:0 reason: Error checking JDBC Driver version. Detail: Error: found unsupported JDBC Driver name: Oracle JDBC driver version: 10.1.0.2.0. Exiting.
Given that the database is loaded with the tables and data I know my instance can connect to the DB. Does anyone know why the deployment would complain that the JDBC driver is incorrect? Is there a way to disable the check and complete the server startup? Is there only a single specific driver that is acceptable for this e-Sourcing version?
Thanks,
Greg
Edited by: Greg Stewart on Oct 15, 2009 3:20 PMThe issue is still occurring.
The Supported Platform documentation indicates that the Oracle JDBC thin driver 10.2.0.1.0 is the supported driver. I have tried both the Classes12.jar and ojdbc14.jar for this version of driver.
What is odd about this error is that it always displays the same message and version #, no matter what version of driver I use.
"found unsupported JDBC Driver name: Oracle JDBC driver version: 10.1.0.2.0" (I execute setup and configuration each time I use a different driver to ensure the ear file is updated)
I have also tried using a different Driver Class path. The installation guides for 5.0 and 5.1 indicate Driver Class as oracle.jdbc.driver.OracleDriver. I have also tried oracle.jdbc.OracleDriver for a few of the versions with no success. I still receive the same error at the same point.
If anyone has run into a similar situation any suggestions or tips to resolving the issue would be appreciated.
Thanks,
Greg -
hi all :)
i'm using a datasource (tomcat 4.1.18 with jdk 1.4)
i'm the following error :
java.sql.SQLException: Cannot load JDBC driver class 'null'my classes12.jar find in $CATALINA_HOME/common/lib
where is ma error ?
thanks a lot.GlobalNamingResources?
I sent up a data source for each app, like this:
<Context path="/api-prototype"
docBase="api-prototype.war"
debug="1"
reloadable="true"
crossContext="true"
useNaming="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost-api-prototype-log."
suffix=".txt"
timestamp="true"/>
<Resource name="jdbc/APIPrototype"
auth="Container"
type="javax.sql.DataSource"/>
<!-- Oracle 9.2.0.1 data source -->
<ResourceParams name="jdbc/APIPrototype">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@elvis:1521:CAPP</value>
</parameter>
<parameter>
<name>username</name>
<value>api</value>
</parameter>
<parameter>
<name>password</name>
<value>mod</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>0</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>60000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>300</value>
</parameter>
</ResourceParams>
</Context>This works fine on Tomcat 4.1.24. I don't know where you got that example from, but I'd recommend that you look at the Tomcat JNDI How-to:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
Why go anywhere else? - MOD -
Hi,
i am doing a forum application.
i am trying to connect database connection through javax.sql.DataSource.
I am using Eclipse editor for developing this application and i am using sql server 2000 database.
i have create a servlet file.
here is the coding.
DatabaseGetConnection.java
`````````````````````````````````````````
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
public class DatabaseGetConnection extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
private Connection con=null;
private DataSource ds=null;
public DatabaseGetConnection() throws ServletException {
super();
public DatabaseGetConnection(final HttpServletRequest req, final HttpServletResponse res) throws ServletException, IOException {
this.doPost(req, res);
public void init() throws ServletException {
try
final Context initContext = new InitialContext();
final Context envContext = (Context)initContext.lookup("java:/comp/env");
this.ds = (DataSource)initContext.lookup("jdbc/mySQLServer");
}catch(final NamingException ne)
ne.printStackTrace();
}catch(final Exception e)
e.printStackTrace();
public DataSource getDS()
System.out.println("Datasource method calling");
if (this.ds!=null)
System.out.println("Datasource not null");
}else
System.out.println("Datasource null");
return this.ds;
public Connection getCon()
try
this.con=this.getDS().getConnection();
if (this.con!=null)
System.out.println("Connection Successfull");
}catch(final SQLException se)
System.out.print("Connection Establishment Error : ");
se.printStackTrace();
return this.con;
I have configured server.xml. here is the configuration
server.xml
````````````````
<GlobalNamingResources>
<Resource name="jdbc/mySQLServer" global="jdbc/mySQLServer" auth="Container"
type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=forum;SelectMethod=cursor"
username="sa" password="sa" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
here is the web.xml file
``````````````````````````````````
<resource-ref>
<res-ref-name>jdbc/mySQLServer</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
is this configuration correct? plz help me about the configuration and coding through Eclipse.
i have run the application and i got the error. here is the error details
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at com.forum.database.DatabaseGetConnection.getCon(DatabaseGetConnection.java:85)
at com.forum.database.DatabaseGetConnection.GetAllTopicSearch(DatabaseGetConnection.java:101)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760)
... 24 more
thanks and regards,
k.s.kumarPlease don't multipost, it's rude: http://forum.java.sun.com/thread.jspa?threadID=5219591
Please continue on that thread. -
Cannot load JDBC Driver Class in Tomcat5.5 using struts.
Hello to all,
I'm working in the struts environment using Esclipse3.2 IDE.
And I have installed Tomcat5.5 server.I have created the LoginForm
in struts.Now i like to connect my LoginForm with MySql database.I
have also created the database in MySql naming strutsdatabase.
I had also download the mysql-connector-java-3.0.16-ga-bin.jar and
save that in C:/tomcat/commons/lib directory.
While running I have got the below error:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:598)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:808)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
javax.servlet.UnavailableException: Initializing application data source org.apache.struts.action.DATA_SOURCE
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:812)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
And I have attached my struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software
Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources>
<data-source
type="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
<set-property property="url"
value="jdbc:mysql://localhost:3306/strutsdatabase?autoReconnect
=true"/>
<set-property property="driverClassName"
value="com.mysql.jdbc.Driver"/>
<set-property property="username" value=""/>
<set-property property="password" value=""/>
<set-property property="maxActive" value="10"/>
<set-property property="validationQuery" value="SELECT
COUNT(*) FROM test"/>
<set-property property="maxWait" value="5000"/>
<set-property property="defaultAutoCommit" value="false"/>
</data-source>
</data-sources>
<form-beans>
<form-bean name="LoginForm"
type="fino.web.struts.action.LoginForm"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="LoginForm" path="/login" scope="request"
type="fino.web.struts.action.LoginAction" validate="true">
<forward name="success" path="/success.jsp"/>
<forward name="failure" path="/failure.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources null="false"
parameter="org.apache.struts.action.ActionResources"/>
</struts-config>
Friends,please help me to find solution to this problem.Note: This thread was originally posted in the [Java Compiler|http://forums.sun.com/forum.jspa?forumID=7] forum, but moved to this forum for closer topic alignment.
-
Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
Hi,
At the moment I'm trying to get an example working. The error message I get is:
Unable to get connection, DataSource invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'"
The example I tried is http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html.
Configuration:
Wampserver 2.0 (Apache, MySQL, PHP for Windows XP), Tomcat 6.0 and jdk1.6.0_03.
The following files are installed in %CATALINA_HOME%/webabbs/
- Dbtest/test.jsp
- Dbtest/WEB-INF/web.xml
- Dbtest/WEB-INF/lib/standard.jar
- Dbtest/WEB-INF/lib/tomcat-dbcp.jar
- Dbtest/WEB-INF/lib/jstl.jar
Tia,
Abel.Hi,
I added the jar file containing the requested class to my lib directory. So the current contents of that directory is:
The following files are installed in %CATALINA_HOME%/webabbs/
- Dbtest/test.jsp
- Dbtest/WEB-INF/web.xml
- Dbtest/WEB-INF/lib/standard.jar
- Dbtest/WEB-INF/lib/tomcat-dbcp.jar
- Dbtest/WEB-INF/lib/jstl.jar
- Dbtest/WEB-INF/lib/mysql-connector-java-5.1.5-bin.jar
More importantly, I started my Wamp server.
The example works as it should have. Thanks for the feedback.
Abel -
I am trying to run a program and keep getting the error Failed to load JDBC driver. java.lang.ClassNotFoundException
How can I correct this?I was just trying to execute this example from Deitel's Java book.
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class DisplayAuthors extends JFrame {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.ibm.db2j.jdbc.DB2jDriver";
static final String DATABASE_URL = "jdbc:db2j:books";
// declare Connection and Statement for accessing
// and querying database
private Connection connection;
private Statement statement;
// constructor connects to database, queries database, processes
// results and displays results in window
public DisplayAuthors()
super( "Authors Table of Books Database" );
// connect to database books and query database
try {
// specify location of database on filesystem
System.setProperty( "db2j.system.home", "C:/Cloudscape_5.0" );
// load database driver class
Class.forName( JDBC_DRIVER );
// establish connection to database
connection = DriverManager.getConnection( DATABASE_URL );
// create Statement for querying database
statement = connection.createStatement();
// query database
ResultSet resultSet =
statement.executeQuery( "SELECT * FROM authors" );
// process query results
StringBuffer results = new StringBuffer();
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
for ( int i = 1; i <= numberOfColumns; i++ )
results.append( metaData.getColumnName( i ) + "\t" );
results.append( "\n" );
while ( resultSet.next() ) {
for ( int i = 1; i <= numberOfColumns; i++ )
results.append( resultSet.getObject( i ) + "\t" );
results.append( "\n" );
// set up GUI and display window
JTextArea textArea = new JTextArea( results.toString() );
Container container = getContentPane();
container.add( new JScrollPane( textArea ) );
setSize( 300, 100 ); // set window size
setVisible( true ); // display window
} // end try
// detect problems interacting with the database
catch ( SQLException sqlException ) {
JOptionPane.showMessageDialog( null, sqlException.getMessage(),
"Database Error", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
// detect problems loading database driver
catch ( ClassNotFoundException classNotFound ) {
JOptionPane.showMessageDialog( null, classNotFound.getMessage(),
"Driver Not Found", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
// ensure statement and connection are closed properly
finally {
try {
statement.close();
connection.close();
// handle exceptions closing statement and connection
catch ( SQLException sqlException ) {
JOptionPane.showMessageDialog( null,
sqlException.getMessage(), "Database Error",
JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
} // end DisplayAuthors constructor
// launch the application
public static void main( String args[] )
DisplayAuthors window = new DisplayAuthors();
window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // end class DisplayAuthors -
Problem loading jdbc driver in Tomcat
Hi,
I have got a connection to MySQL5.0 from TomCat 5.5.13, that was test correctly in development (JSC Upd 1) but I encounter the following deployment error :
com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.JasperException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
When I verify, I found that if I put the mysql Connector JDBC driver in <tomcat>/common/lib, there is no error.
But when the MySql Connector JDBC driver resides in <tomcat>/shared/lib, the error persists.
What's the difference ? shouldn't it work for both ?
Thanks in advance for any pointers and advise.hmm... i guess that it's a must to include the lib at /common/lib instead of shared/lib .
Is there a Tomcat resource that I can read up on ?
rgds
Maybe you are looking for
-
Using canon 700d dslr, and after every 3 to 4 shots, it gives black images
using canon 700d dslr, and after every 3 to 4 shots, it gives black images
-
Webutil throws 'RegisterWebUtil not found' after applying patch 10.1.2.3
Hi All, We have set up an OAS server and patched it to release 10.1.2.3. To get webutil to work, I took a fresh copy of frmwebutil.jar (dated 28-1-2008) and jacob.jar (1_8). I signed them both using the same sign_webutil.bat. I had to change the JAR_
-
It seems like EVERYTIME I try to add a video to my 30G video ipod, something goes wrong... According to the memory bar on itunes I have over 20G left on my ipod, but when I try to update it i get a prompt that says I don't have enough memory.....? PL
-
Acknowlegements with SOAP adapter
Hello gurus, I'm aware of the acknowledgements with the proxies. I have scenarios of SOAP-PI-Proxy and Proxy-PI-SOAP, where SOAP adapter sends or receives messages with customly developed WS. I need to direct the WS developer team to implement acknow
-
Can you add video to a fluid grid project in CS6
Hi Again; I'm thinking about the upgrade to CS6 to help with my video problem in CS 5.5 and was wondering if you can add video to a fluid grid web project. From what I watched on the web, it looks like everything is a one page web site with links t