- PR -

TomcatとSqlServerでのOBCPでのエラー

1
投稿者投稿内容
こざる
会議室デビュー日: 2003/09/17
投稿数: 8
投稿日時: 2003-10-09 22:02
tomcat初心者です。。

tomcatとsqlserver7.0でDBプーリングを行いたいため
参照元記事URLを参考に設定したのですが、プログラムを実際に動かすと
以下のようなエラーが発生します。

<<エラー内容>>
javax.naming.NameNotFoundException: 名前 jdbc/sqlserverはこのコンテキストにバインドされていません。

<<プログラム>>
public static Connection getConnection2() throws Exception{

Context ctx = null;
Connection connection = null;
DataSource ds = null;

ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver");
connection = ds.getConnection();

return connection;
}

また、server.xmlとweb.xmlは以下のように記述しました。
<<server.xml>>
<Context path="/client" docBase="client" debug="5"
reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_client_log." suffix=".txt"
timestamp="true"/>

<Resource name="jdbc/sqlserver" auth="Container"
type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/sqlserver">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>sun.jdbc.odbc.JdbcOdbcDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:odbc:imgsqlserv</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>sap</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>
</ResourceParams>
</Context>

<<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>


なぜエラーが発生してしまうのでしょう?
どなたかご教授頂けないでしょうか?
どうぞ宜しくお願い致します。。
唐ワっちくん
会議室デビュー日: 2004/01/16
投稿数: 9
投稿日時: 2004-01-16 15:57
こんにちわ

私も初心者に近いんですけど、TomcatとOracleをDBCPで接続する事ができましたので、
その例だけ伝えますw

前提としJDBCドライバは「tomcat_home/common/lib」に入れてます。
TomcatのAdminTool(http://localhost:8080/admin)を利用して、server.xmlファイルを設定しました。
1.まず「デフォルトコンテキスト」を作成
2.デフォルトコンテキストで、
  「JNDI名」、「サーバ名」、「ユーザ名」、「パスワード」など個人の設定を指定
あと、アクセスするためのプログラムの同じだったようです。違いはデフォルトコンテキスト作成後、その中で指定してます。
参考書は「Jakarta Tomcatエキスパートガイド」がわかりやすいかと思います
1

スキルアップ/キャリアアップ(JOB@IT)