当前位置: 代码迷 >> J2EE >> 连接数据源解决办法
  详细解决方案

连接数据源解决办法

热度:231   发布时间:2016-04-22 03:33:43.0
连接数据源
以下这篇文章是我从网上找的,我现在也有同样的问题,请高手出手帮帮我,谢谢了!


我配置tomcat的连接池,我使用的版本是tomcat 5.0.28  
  数据库sqlserver2000 名字为:test 
  驱动:已经拷贝到tomcat lib下 

在tomcat server.xml 中 
配置如下: 
  <Host name="test" appBase="C:\Documents and Settings\Administrator\workspace\test\WebRoot" 
  unpackWARs="true" autoDeploy="true" 
  xmlValidation="false" xmlNamespaceAware="false"> 

  <Context> 

  <Resource name="jdbc/bn" auth="Container" type="javax.sql.DataSource" >  
  </Resource> 
  <ResourceParams name="jdbc/bn"> 
  <parameter> 
  <name>maxActive </name> 
  <value>100 </value> 
  </parameter> 
  <parameter> 
  <name>maxIdle </name> 
  <value>30 </value> 
  </parameter> 
  <parameter> 
  <name>maxWait </name> 
  <value>10000 </value> 
  </parameter> 
  <parameter> 
  <name>username </name> 
  <value>sa </value> 
  </parameter> 
  <parameter> 
  <name>password </name> 
  <value> </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;DatabaseName=Test </value> 
  </parameter> 
  </ResourceParams> 

</Context> 

</Host> 
在tomcat web.xml 中 
配置如下: 
 tomcat\conf\web.xml  
  加入  
  <resource-ref>  
  <description>DB Connection </description>  
  <res-ref-name>jdbc/bn </res-ref-name>  
  <res-type>javax.sql.DataSource </res-type>  
  <res-auth>Container </res-auth>  
  </resource-ref>  

测试代码为: 
<% 
DataSource ds=null; 
Connection conn=null; 
try{ 
Context initCtx=new InitialContext(); 
Context envCtx=(Context)initCtx.lookup("java:comp/env"); 
//从Context中lookup数据源 
ds=(DataSource)envCtx.lookup("jdbc/bn"); 
if(ds!=null) 


out.println("已经获得datasource!"); 
out.println(" <br>"); 

  conn=ds.getConnection(); 
out.println("rst前"); 
out.println(" <br>"); 
Statement stmt=conn.createStatement(); 

ResultSet rst=stmt.executeQuery("select * from book"); 
out.println("以下是从数据库中读取出来的数据"); 
while(rst.next()) 

out.println("bookname:"+rst.getString("bookname")); 
out.println(" <br>"); 


else 
out.println("连接失败"); 
}catch(Exception ne) 
  相关解决方案