使用连接池的时候发生错误~~~

dengfeiling 2006-11-09 12:44:04
测试程序:
<%@page import="javax.sql.DataSource" %>
<%@page import="javax.naming.InitialContext" %>
<%@page import="java.sql.*" %>
<%
DataSource ds=null;
Connection conn=null;
try{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
ds=(DataSource)envCtx.lookup("jdbc/shop");
if(ds!=null)
{
out.println("已经获得数据源!");
out.println("<br/>");
try{
conn=ds.getConnection();
out.println("连接数据库成功");
}catch(Exception e){out.println("连接失败~"+e);}
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from userInfo");
while(rs.next())
{
out.println("用户名:"+rs.getString(1));
}
}
else
out.println("连接失败!");
}catch(Exception e){out.println(e);}
%>
--------获取数据源是成功的...
server.xml中我是添加了这样的描述:
<Context path="/ds" docBase="ds" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/shop" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/shop">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>


<value>jdbc:microsoft.sqlserver://127.0.0.1:1433;DatabaseName=shop</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
运行时发生下面的错误:
已经获得数据源!
连接失败~org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' java.lang.NullPointerException
...全文
399 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengfeiling 2006-11-22
  • 打赏
  • 举报
回复
已放在下面了...就是不行...
zxm0591 2006-11-16
  • 打赏
  • 举报
回复
要将驱动包一并放在%TOMCAT_HOME%/common/lib下面才成
dengfeiling 2006-11-10
  • 打赏
  • 举报
回复
数据库驱动包也放到了正确的位置...
所以获取数据源是成功的~~~
等待...
wenchuan 2006-11-09
  • 打赏
  • 举报
回复
你的java code里面好象没有用driver manager设置URL哦,所以有异常说Cannot create JDBC driver of class '' for connect URL 'null'.
混沌骑士 2006-11-09
  • 打赏
  • 举报
回复
我用的tomcat是5.1.16,我的配置如下:

1、tomcat的conf目录下的sever.xml文件

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="/MyPrj" docBase="MyPrj"
debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="myuser" password="password"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=PIM"/>
</Context>
</Host>

2、web项目的web.xml文件

<resource-ref>
<description>MS SQL Server DataSource</description>
<res-ref-name>jdbc/mssql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
haode 2006-11-09
  • 打赏
  • 举报
回复
你的数据库驱动的jar包,放在lib下面了么?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧