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

news/2024/5/18 21:43:04 标签: sql server, jdbc
今天公司项目需求需要在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;
}

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

http://www.niftyadmin.cn/n/1526267.html

相关文章

CWE:通病总结

文章目录网站左操作值是垃圾数据使用#undef的时候要小心删除空语句局部变量初始化之后使用自加自减的使用魔数c里的数据成员结构体&#xff0c;枚举&#xff0c;联合体第一个大括号的位置比特操作&#xff0c;重复表达式宏定义加分号条件判断嵌套太多层函数名称的含义自包含参数…

Apache2.2.11+Tomcat6.0 集群配置 总结

最近公司需要配置集群 在网上找了很多的资料 都没有怎么个成功 配合网上的资料和一些博客总结如下&#xff1a;1负载均衡的概念&#xff1a;就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理2 环境说明&#xff08;Apache端口&#xff1a;80不需出来 Apache端口&#…

GCC:3种宏获取函数名;__func__

文章目录 参考gcc如果试C++类似的有__FILE__参考gcc __func__ __FUNCTION__ __PRETTY_FUNCTION__如果试C++ 在C++里,使用这些宏定义,是mangle之前的函数名称。 6.48 Function Names as Strings GCC provides three magic constants that hold the name of the current fun…

java 轻量级 job_micro-job 是一款基于quartz轻量级分布式任务执行框架

基本介绍micro-job是一款轻量级的分布式任务执行框架&#xff0c;内部集成了quartz框架来完成任务的分布式调度&#xff0c;quartz是一个强大的任务执行框架&#xff0c;但是quartz为我们提供的功能却是有限&#xff0c;我们较为关心的执行日志采集、任务失败重试、任务权重调度…

js 验证各种格式类型的正则表达式

<script src"scripts/jquery-1.4.1.js" type"text/javascript"></script> <script language"javascript" type"text/javascript"> /** * 定义验证各种格式类型的正则表达式对象 */ var Regexs { email: (/^[0-9a-z…

java接口函数clone_浅析java中clone()方法 | 学步园

java中我们可能都遇到过这样的情况&#xff0c;在我们将一个对象做为参数传给一个函数的时候&#xff0c;我们希望在这个函数中所做的操做&#xff0c;并不会影响到这个对象本身。但是在java传递都是引用&#xff0c;所以往往我们在函数内部改变了对象的某一个值&#xff0c;在…

4个月的工作总结

在从找工作一直到现在也有4个多月了&#xff0c;刚开始一出来找工作很艰难。庆幸的是遇上了一个好老板在这里我开始上班了。一开始在学校里面自己学习的开发本身就是一些后台的东西很少写页面的东西&#xff0c;到这个公司来 前台页面和后台得逻辑都是自己一起做。刚开始做一点…

Linux: chrony:时间同步

文章目录参考命令chronyc指令Time sources&#xff0c;时钟源makestep threshold limit参考 man chrony.conf&#xff0c; 配置文件 配置文件在/etc/目录&#xff1b;/etc/chrony.conf&#xff1b;但是也可以通过-f选项设置配置文件位置。 每一行都是单独的指令。下面我们来讲…