Java プロジェクトがあり、Ingres データベース用の JNDI 接続を作成しようとしましたが、失敗しました。含める必要がある ingres に固有のものがあるかどうかはわかりませんが、かなりの調査を行った後、物事を機能させることができませんでした。
私のプロジェクトでは、web.xml ファイルと context.xml にデータソース情報があります。
context.xml には次の情報があります
<Context>
<Resource name="jdbc/myDB" auth="Container" type="javax.sql.Datasource"
username="myUser" password="password" driverClassName="com.ingres.jdbc.IngresDriver"
url="databaseURL" maxActive="8" maxIdle="4" maxWait="100" />
</Context>
私のweb.xmlには次の情報があります
<web-app>
<resource-ref>
<description>Project Descrip</description>
<res-ref-name>jdbc/myDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
私のJavaコードでは、次の4行を使用して接続を取得しようとしています
Context initContext = new InitialContext();
Context envContext = (Context) initContent.lookup("java:comp/env");
Datasource ds = (DataSource) envContext.lookup("jdbc/myDB");
return ds.getConnection();
3 行目が実行された後、次のような例外が発生します: NamingException - リソース インスタンスを作成できません
この同じ例外を含む多数の投稿を見つけ、提案された解決策を試してみましたが、うまくいきませんでした。Tomcat 7 サーバーを使用しており、必要な ingres jar (iijdbc.jar) を WEB-INF/lib フォルダーと tomcat lib フォルダーに確実に含めました。
どんな助けや提案も大歓迎です