云靜心舞

          青青孜涇,悠悠我心

          2007年4月12日 #

          Tomcat+DB2的數據庫連接池配置(轉)

          網上找到使用TOMCAT配置DB2的資料很少,很多人掛“羊頭“賣“狗肉”,這是老大花了一定的時間研究之后才搞定的,所以發出來避免大家走彎路,雖然是轉載,希望能發到首頁,避免大家走彎路
          轉自老大的blog,順便打打廣告http://163hbfang.blog.163.com/blog/static/2448133200621134590/

          上面還是有很多有技術價值的東西,不過因為在163所以很少人光顧,幫他打廣告^_^
          1、操作系統Windows2000(經測試,在Linux不需操作第6點)
          2、Tomcat版本:Apache Tomcat/5.0.16
          3、JDK版本:j2sdk1.4.1_03
          4、DB2版本:使用db2inst1用戶輸入db2level命令得到:DB2 v8.1.0.96,修訂包為"10"
          5、在安裝DB2的機器上/opt/IBM/db2/V8.1/java目錄下拷貝db2java.zip、db2jcc.jar到$CATALINA_HOME/common/lib下,并重命名db2java.zip為db2java.jar
          6、把db2java.jar加classpath
             .;C:\j2sdk1.4.1_03\lib\dt.jar;D:\tomcat5\common\lib\db2jcc.jar;D:\tomcat5\common\lib\db2java.jar;
          7、手工配置zjdii.xml,不要在$CATALINA_HOME/conf/server.xml修改任何信息;在$CATALINA_HOME/conf/localhost下修改或新建zjdii.xml

          <Context displayName="ZJDII" docBase="zjdii" path="/zjdii">
            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_zjdii_log." suffix=".txt" timestamp="true"/>
            <Resource auth="Container" name="jdbc/zjdii" type="javax.sql.DataSource"/>
            <ResourceParams name="jdbc/zjdii">
              <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </parameter>
              <parameter>
                <name>url</name>
                <value>jdbc:db2://192.168.200.113:6789/zjdii</value>
              </parameter>
              <parameter>
                <name>password</name>
                <value>yourpasswd</value>
              </parameter>
              <parameter>
                <name>maxWait</name>
                <value>1000</value>
              </parameter>
              <parameter>
                <name>maxActive</name>
                <value>10</value>
              </parameter>
              <parameter>
                <name>driverClassName</name>
                <value>COM.ibm.db2.jdbc.net.DB2Driver</value>
              </parameter>
              <parameter>
                <name>username</name>
                <value>yourusername</value>
              </parameter>
              <parameter>
                <name>maxIdle</name>
                <value>30</value>
              </parameter>
            </ResourceParams>
          </Context>

          常見錯誤信息及解決方案:

          org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'COM.i
          bm.db2.jdbc.net.DB2Driver', cause:
          java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.net.DB2Driver
                  at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClas
          sLoader.java:891)
                  at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClas
          sLoader.java:756)
                  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
                  at java.lang.Class.forName0(Native Method)
                  at java.lang.Class.forName(Class.java:140)
                  at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSou
          rce.java:730)
                  at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource
          .java:518)
                  at com.zjdii.db.DataBase.getConnection(Database.java:44)
                  at com.zjdii.db.DBFactory.getPreparedStatement(DBFactory.java:86)
                  at org.apache.jsp.test.clob.clob_jsp._jspService(clob_jsp.java:50)
                  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
                  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
          .java:311)
                  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
          01)
                  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
          icationFilterChain.java:284)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
          ilterChain.java:204)
                  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
          alve.java:256)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:151)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:564)
                  at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
          ContextValve.java:245)
                  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
          alve.java:199)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:151)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:564)
                  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:195)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:151)
                  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:164)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:149)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:564)
                  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:156)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:151)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:564)
                  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)

                  at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:21
          1)
                  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
          :805)
                  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
          ssConnection(Http11Protocol.java:696)
                  at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
          :605)
                  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:677)
                  at java.lang.Thread.run(Thread.java:536)
          java.lang.NullPointerException


          解決方案:
          把D:\tomcat5\webapps\common\lib\db2java.jar;加入classpath里

           

          javax.servlet.ServletException: com/ibm/db2/jcc/SQLJPackage
           org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
           org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
           org.apache.jsp.test.clob.clob_jsp._jspService(clob_jsp.java:82)
           org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
           javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
           org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
           org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
           org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
           javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


          root cause

          java.lang.NoClassDefFoundError: com/ibm/db2/jcc/SQLJPackage
           COM.ibm.db2.jdbc.net.DB2Connection.prepareStatement(DB2Connection.java:627)
           org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:216)
           org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:323)
           com.zjdii.db.DBFactory.getPreparedStatement(DBFactory.java:167)
           org.apache.jsp.test.clob.clob_jsp._jspService(clob_jsp.java:50)
           org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
           javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
           org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
           org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
           org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
           javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


          note The full stack trace of the root cause is available in the Tomcat logs.

          解決方案:
          把D:\tomcat5\webapps\common\lib\db2jcc.jar;加入classpath里

          posted @ 2007-04-12 11:40 云靜心舞 閱讀(2503) | 評論 (0)編輯 收藏

          2006年10月12日 #

          隨想~~

          剛剛進入BLOGJAVA,不知道該寫些什么,等過段時節參考了各位大大的"窩"......再定~~

          posted @ 2006-10-12 09:59 云靜心舞 閱讀(203) | 評論 (0)編輯 收藏

          僅列出標題  

          My Links

          Blog Stats

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大连市| 华蓥市| 应用必备| 江陵县| 会昌县| 连江县| 大同市| 澄迈县| 昌黎县| 马鞍山市| 上思县| 和田市| 大安市| 青冈县| 招远市| 兴宁市| 临洮县| 宜兰县| 霞浦县| 来凤县| 甘洛县| 南雄市| 福贡县| 绥宁县| 京山县| 舟山市| 台安县| 蒲江县| 乌兰浩特市| 明光市| 固原市| 舟山市| 尼勒克县| 南雄市| 滦平县| 台江县| 苍南县| 洞口县| 黄冈市| 宜州市| 开江县|