- - PR -
Tomcat5.0.28 と SQLServer2000への接続
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-07 10:13
はじめまして。
JSP+Servletを勉強し始めたものです。 1週間ほど悩んでいるのですが、解決できません・・・ どなたかお力をお貸しください!! Tomcat5.0.28 と SQLServer2000への接続時 下記の「Cannot create JDBC driver of class」例外が発生します。 SQLServer JDBCドライバはインストールしてWEB-INF/lib下にjarファイルをコピーしました。 ------エラーログ----------------- 2005-03-07 10:13:27 StandardWrapperValve[jsp]: サーブレット jsp のServlet.service()が例外を投げました org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at org.apache.jsp.jdbcTest_jsp._jspService(jdbcTest_jsp.java:75) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at common.EncodeUtil.doFilter(EncodeUtil.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Unknown Source) Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(Unknown Source) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773) ---------JSP----------------------------------------------- <%@ page import="javax.sql.*,javax.naming.*,java.sql.*" %> <html> <head> <title>コネクション・プーリング</title> </head> <body> <h1 style="color:white;background-color:#525D76;font-size:22px;"> コネクション・プーリング</h1> <% Context ctx=new InitialContext(); DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TEST"); Connection db=ds.getConnection(); db.close(); %> データベース接続に成功しました。 </body> --------コンテキスト.xml------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <Context displayName="TEST" docBase="TEST" path="/TEST" reloadable="true"> <!-- DB接続 コネクションプーリングの設定 --> <Resource auth="Container" name="jdbc/TEST" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/xebec"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>100</value> </parameter> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>username</name> <value>TEST_DB_USER</value> </parameter> <parameter> <name>password</name> <value>test</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:microsoft:sqlserver://192.168.1.15:1433;databasename=TEST_DB</value> </parameter> <parameter> <name>validationQuery</name> <value>SELECT * FROM MST01</value> </parameter> </ResourceParams> </Context> ---------Web.xml----------------------- <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <description>xebec</description> <display-name>xebec</display-name> <distributable /> <!--Filter Declaration--> <filter> <description>Filter to encode the Request Parameter</description> <display-name>HTTP Request Encoder</display-name> <filter-name>EncodeUtil</filter-name> <filter-class>common.EncodeUtil</filter-class> <init-param> <description>Encoding Name</description> <param-name>EncodeName</param-name> <param-value>Windows-31J</param-value> </init-param> </filter> <!--Filter Mapping--> <filter-mapping> <filter-name>EncodeUtil</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping> <!--Servlet Declaration--> <servlet> <servlet-name>DefaultServlet</servlet-name> <jsp-file>/default.jsp</jsp-file> </servlet> <!--Servlet Mapping--> <servlet-mapping> <servlet-name>DefaultServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--Jsp File Configuration--> <jsp-config> <jsp-property-group> <display-name>JSP Config</display-name> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <page-encoding>Windows-31J</page-encoding> <scripting-invalid>false</scripting-invalid> <include-prelude>/common.jsp</include-prelude> </jsp-property-group> </jsp-config> <!--Resource Reference--> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TEST</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> |
|
投稿日時: 2005-03-07 11:07
過去事例ですが役に立つでしょうか?sutou さんがまとめてくださっていますね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12867&forum=12&9 http://www.google.com/search?hl=ja&c2coff=1&client=safari&rls=ja-jp&q=%22Cannot+create+JDBC+driver+of+class%22+null+tomcat&btnG=Google+検索&lr= |
|
投稿日時: 2005-03-07 20:14
<ResourceParams name="jdbc/xebec">
|
|
投稿日時: 2005-03-08 09:51
<ResourceParams name="jdbc/xebec">
すいません。 <ResourceParams name="jdbc/TEST"> でもやっぱり同じエラーがでます。 |
|
投稿日時: 2005-03-08 10:07
インギさんが出してくれているURLを見ていますかね?
解決法が書いてあると思いますが。 私も以前同じ環境を構築した事がありますが、 悩んだ挙句、上記のURLに書かれている解決法で解決しましたよ。 |
|
投稿日時: 2005-03-08 12:09
ありがとうございます。
参考URLを元に接続できました!! 涙が出ました・・・ server.xmlの<DefaultContext>でDB接続パラメータ コンテキスト.xmlに<ResourceLink /> web.xmlに<resource-ref> を書くことで解決しました。 本当にありがとうございました!! |
1