0

私はTomcat 6をスタンドアロンアプリとして実行しており、コントロールパネル>管理ツールの「データソース」ツールで指定されたデータソースを使用しています。

さて、今日はTomcatをサービスとしてインストールして、PC起動時に自動で起動するようにしてみました。

ただし、データソースを認識できなくなります。コマンド プロンプトから tomcat を再起動すると、同じデータ ソースが機能します。

以下はスタックトレースです

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
    org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    com.qc.helpers.connection.ConnectionPool.<init>(ConnectionPool.java:38)
    com.qc.main.servlets.TableView.init(TableView.java:47)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Thread.java:619)

何か案は?前もって感謝します..

4

1 に答える 1

1

問題は、ODBC データソースを使用していることです。システム DSN ではなく、ユーザー DSN を作成した可能性があります。TomCat がサービスとして実行されている場合、Java は通常のユーザー アカウント用に定義された ODBC データソースにアクセスできません。システム DSN として定義する場合は、アクセスできる必要があります。

ところで: 可能であれば JDBC/ODBC ブリッジを使用せず、実際のデータベース用の JDBC ドライバーを使用することをお勧めします。

于 2012-05-21T17:12:47.623 に答える