0

次のメソッドを使用して、Tomcat 経由でデータベースに接続するアプリケーションがあります。DriverManager

DriverManager.getConnection(url, user,password);

これは Tomcatで問題なく動作します。

しかし、この同じアプリケーションをJBOSSに移植すると、接続は常に返されNULLます。

を使用して JNDI リソースにアクセスして JDBC 接続を確立することを妨げるいくつかの要件がありますDriverManager.getConnection(url)

なぜこれが起こるのか、またはそれを回避する方法を誰かが知っていますか?

これが私が受け取るスタックトレースです.....

java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at TestSterlingConnection.getStrelingDBDetails(TestSterlingConnection.java:48)
    at TestSterlingConnection.makeCall(TestSterlingConnection.java:95)
    at TestSterlingConnection.doGet(TestSterlingConnection.java:77)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
4

2 に答える 2

0

コンテナの外でこのボックスに対して同じ呼び出しを実行することで、JBOSS を排除しました。これを行うと、同じエラーメッセージが表示され、この問題はネットワーク構成が原因であると思われます。現在、このサーバーの保守を担当する管理者にエスカレートしています。

どうもありがとう!!グレンの助けに本当に感謝します。

于 2012-09-06T21:29:50.950 に答える
0

おそらく、適切な JDBC ドライバーがクラスパスにないためです。ServiceLoaderドライバーは、 (META-INF/services) メカニズムを使用して自動的に登録されるようになりました。したがって、クラスパス上にある必要があります。DriverManager.getConnection登録されたドライバーをスキャンして、URL パターン (つまり、oracle、postgres など) に一致するドライバーを見つけます。Tomcat インスタンスの lib ディレクトリの 1 つに jdbc jar ファイルがある可能性があります。

于 2012-09-06T02:48:21.273 に答える