JDBC配置DataSource及相关问题

来源:互联网 发布:淘宝蜘蛛店 编辑:程序博客网 时间:2024/05/18 06:22

      今天心血来潮,找了一XXX书(书名及出版社就不提了),把这本书上的源码下载,是一个OA的系统,但是把源码部署上,发现了若干问题,导致本能运行,所以我就只好修改这些bug,真是杯具。

      下面言归正传,谈到配置数据源,我看了一下toncat的说明文档,按照说明进行更改。

 

      1,首先加载驱动包,将mssqlserver的驱动包放在了WEB-INF/lib目录下。

      2,配置CATALINA_HOME/conf/context.xml,在其中加入一下的标签

                <Resource name="java:comp/env/jdbc/OA" auth="Container"
                          type="javax.sql.DataSource" username="username" password="password"
                          driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://127.0.0.1:1434;DatabaseName=OA"
                          maxActive="8" maxIdle="4"/>

      3,配置WEB-INF/web.xml文件,加入一下的标记:

                     <resource-ref>
                                 <description>
                                              Resource reference to a factory for java.sql.Connection
                                              instances that may be used for talking to a particular
                                              database that is configured in the server.xml file.
                                 </description>
                                  <res-ref-name>
                                                 java:comp/env/jdbc/OA
                                   </res-ref-name>
                                   <res-type>
                                                  javax.sql.DataSource
                                   </res-type>
                                   <res-auth>
                                              Container
                                     </res-auth>
                       </resource-ref>

         4, 最后编写测试代码

 

                      Context       ctx = new InitialContext();
                      Context envCtx = (Context) ctx.lookup("java:comp/env");
                      ds = (DataSource)envCtx.lookup("java:comp/env/jdbc/OA");

 

        按照理论上来说,这个样子应该是搞定了,但是当我测试运行的时候却还是不能通过,抛出的异常,说mssqlserver的驱动包有问题,差了一下大家的说法,我把msutil.jar和msbase.jar也分别像第一步那样,放到响应的目录下,但是还有异常,说驱动包是mssqlser2000的驱动,不能用来生成Datasource,因为我的sqlserver2005,我只好将jtds.jar来取代上面的驱动包,但是依旧是用异常抛出,说建立和数据库通信的TCP协议所用的socket有错误,我用netstat -an -p TCP检查,发现我的端口没有打开,换一个端口吧,折腾了好久,总算是搞定了。虽然有点累但还是很有收获的

 

          这是小弟的第一篇博文,希望各位高手多多指点,谢谢大家

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击