JAVA JDBC Tomcat sqlserver2005数据库连接池

来源:互联网 发布:淘宝图片一般多大尺寸 编辑:程序博客网 时间:2024/06/07 06:18


环境:Tomcat6.x

   MyEclipse 9.01M1

    Xp系统

    JDK 1.6

    SQL Server 2005 数据库

            数据库驱动 :    Microsoft SQL Server 2005 JDBC 驱动程序 。(这个很重要,因为2000和2005的驱动程序对应的数据库连接的JDBC代码也是不一样的。)2005驱动程序对应的Jar包是sqljdbc.jsr. 下载地址是:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17    解压得到sqljdbc.jar文件,将其复制到tomcat安装目录下面的lib文件下面,另外也需要在你的项目下面导进去这个包。

           

步骤1: 

在Tomcat安装目录下面,找到conf文件夹下的 context.xml 文件,在<Context> </Context>添加:

<Resource name="jdbc/sqlserver"
  auth="Container"   type="javax.sql.DataSource"   driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"   url="jdbc:sqlserver://127.0.0.1:1434;dataBaseName=MyDatabase"  username="sa" 
  password="123"
          maxActive="500" 
  maxIdle="10"
  maxWait="-1" />
          其中

name是随便给的,但是为了见名知意,使用jdbc/sqlserver   

          driverClassName里面是加载SQL Server2005的驱动。(要注意SQL Server2000的驱动程序是这样写的:com.microsoft   . jdbc .sqlserver .SQLServer )

      url中 1434表示数据库端口号,MyDatabase表示一个数据库实例,要注意 最前面的 jdbc.sqlserver ,这个和SQL Server2000 的驱动程序写法也不一样。

              username   passward 这个就不用说了,登录数据库用的账号密码。

                maxActive 最大连接数

                maxIdle 最大等待连接数

步骤2:

        JAVA源代码:

        

  Context initCtx = new InitialContext();    Context ctx     = (Context)initCtx.lookup("java:comp/env");    Object  obj     = (Object)ctx.lookup("jdbc/sqlserver");    DataSource ds   = (DataSource)obj;    conn   = ds.getConnection(); 
其中:Context ctx     = (Context)initCtx.lookup("java:comp/env");是不能改变的。

            Object  obj     = (Object)ctx.lookup("jdbc/sqlserver");中jdbc/sqlserver要和在第一步中定义的name保持一致。


      其他的Statement , ResultSet 的方法和普通连接的方法一样。


步骤3:

也有的建议在项目下面的web.xml里面加入如下内容:

<resource-ref>
  <description>db connection</description>
  <res-ref-name>jdbc/sqlserver</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>


其中<res-ref-name>jdbc/sqlserver</res-ref-name>要和在第一步中定义的name保持一致


  但是步骤三可以省略。



  


  

    

       

原创粉丝点击