所报的错误是: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:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.deng.WuLiu.util.JDBConnection.<clinit>(JDBConnection.java:26)
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
java.lang.NullPointerException
META-INF下的context.xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=WuLiu"
username="sa" password="" maxActive="4" maxIdle="2" maxWait="6000" />
</Context>
WEB-INF下的web.xml文件是:<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<description>MSSql server Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>TestJNDI</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
//通过表态连接获取数据库连接池的连接:public class JDBConnection { private static DataSource ds = null;
private static Connection conn = null;
static {
try{
Context ctx = new InitialContext();
ctx = (Context)ctx.lookup("java:comp/env");
ds = (DataSource)ctx.lookup("TestJNDI"); //取得连接池数据源
conn = ds.getConnection(); //取得数据库的连接
//System.out.println("数据库连接成功!");
} catch(Exception e){
e.printStackTrace();
}
}
} 没有打印出数据库连接成功,报了上面的一大堆错误; 我把数据库的三个jar导入了.SQL Server2000打了sp3补丁, 请教一下,
到底是什么问题? 帮帮忙.
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.deng.WuLiu.util.JDBConnection.<clinit>(JDBConnection.java:26)
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
java.lang.NullPointerException
META-INF下的context.xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=WuLiu"
username="sa" password="" maxActive="4" maxIdle="2" maxWait="6000" />
</Context>
WEB-INF下的web.xml文件是:<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<description>MSSql server Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>TestJNDI</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
//通过表态连接获取数据库连接池的连接:public class JDBConnection { private static DataSource ds = null;
private static Connection conn = null;
static {
try{
Context ctx = new InitialContext();
ctx = (Context)ctx.lookup("java:comp/env");
ds = (DataSource)ctx.lookup("TestJNDI"); //取得连接池数据源
conn = ds.getConnection(); //取得数据库的连接
//System.out.println("数据库连接成功!");
} catch(Exception e){
e.printStackTrace();
}
}
} 没有打印出数据库连接成功,报了上面的一大堆错误; 我把数据库的三个jar导入了.SQL Server2000打了sp3补丁, 请教一下,
到底是什么问题? 帮帮忙.
表明不能加载jdbc驱动,也就是你的jar包找不到。你看看你导jar包没有?
用上面的三个jar包,不用连接池的话可以连接上, 用了连接池就连接不上了. 我也不知道具体是什么问题?