ホームページ >データベース >mysql チュートリアル >MySQL 接続プーリングを使用すると、Tomcat アプリケーションに「適切なドライバーが見つかりません」と表示されるのはなぜですか?
問題:
接続しようとしたとき接続プーリングを使用した Tomcat 経由の MySQL データベース、エラー「適切なドライバーが見つかりませんでした」 jdbc:mysql://localhost/dbname」が発生します。必要なライブラリを WEB-INF/lib およびクラスパスに追加したにもかかわらず、問題は解決しません。
説明:
接続プールを使用する場合、ドライバーの登録を宣言する必要があります。アプリケーション自体の外側。 Tomcat 環境では、これは通常、ドライバーの jar ファイルをサーバーの lib フォルダー (CATALINA_HOME/lib) に配置することで実現されます。
解決策:
ServletContextListener の例:
import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.tomcat.dbcp.dbcp.ConnectionFactory; import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolingDriver; import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool; public class DatabaseInitializer implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { try { GenericObjectPool connectionPool = new GenericObjectPool(null); ConnectionFactory connectionFactory = new DriverManagerConnectionFactory( "jdbc:mysql://localhost/dbname", "test", "password"); PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); PoolingDriver driver = new PoolingDriver(); driver.registerPool("test", connectionPool); } catch (Exception e) { throw new RuntimeException(e); } } @Override public void contextDestroyed(ServletContextEvent sce) {} }
これらの手順に従うと、「適切なドライバーが見つかりません」エラーを解決し、接続プーリングを使用して Tomcat 経由で MySQL データベースへの接続を確立できるはずです。
以上がMySQL 接続プーリングを使用すると、Tomcat アプリケーションに「適切なドライバーが見つかりません」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。