日期:2014-05-16  浏览次数:20717 次

基于JDBC JNDI查找 sql server2005 配置数据源配置

今天公司项目需求需要在sql server2005中配置数据源 通过JNDI查找的方法具体的步骤总结如下:


第一步:
导入sql server2005驱动jar包 到tomcat lib 目录下 sqljdbc4.jar
第二步:
我们需要修改Tomcat目录下的conf文件夹里的context.xml文件。
在<Context></Context>之间加入如下代码
<Resource  
  name="jdbc/ourtbe"  
  type="javax.sql.DataSource" 
  auth="Container"
  username="sa" 
  password="123456"  
  driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
  url="jdbc:sqlserver://localhost:1433;DatabaseName=Butterfly Effect"  
  maxActive="300"  
  maxIdle="100"  
  maxWait="5000" 
  removeAbandoned="true" 
  removeAbandonedTimeout="600"    
  logAbandoned="true"  
/>
注:红色标记为数据库名称和登录数据库的用户名和密码,根据具体数据库更改;黄色背景的名称要与下面的两处相一致。其它属性为数据库连接池的属性,其值根据具体情况设置。
        Resource表示数据库连接池的数据源,属性name表示JNDI资源的名称,auth表示连接池管理权的属性,这里取值Container,即声明为容器
        管理,type表示对象类型,这里取值为javax.sql.DataSource ,声明为数据库连接池。


第三步,我们要在项目的web.xml里配置一下,配置如下:
  <resource-ref>

   <description>dateSource</description>
   <res-ref-name>jdbc/test</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>

</resource-ref>
注:名称与上面的相对应,蓝色名称可以随意。
第四步,应用数据库连接池,勿忘重启Tomcat,编辑连接连接池代码为:
导入的相关类包
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public Connection getConnection() {
Connection conn=null;
try
{
/* Class.forName(driverclass);
conn=DriverManager.getConnection(url, user, password);*/

Context ctx = new InitialContext();
     DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
     conn = ds.getConnection();
}
catch (Exception e) {
e.printStackTrace();
}
return conn;
}

就这样简单基本就可以....