8

私が理解している限り、実行するとすぐに

Class.forName("net.sourceforge.jtds.jdbc.Driver");

JTDS SQL Server ドライバーをグローバルに使用するようにアプリケーションを初期化し、

java.sql.DriverManager.getConnection(url, user, password);

その後、すべて SQL Server 接続を返します。

しかし、同じ関数で複数の異なるデータベース エンジンを操作して、JTDS SQL Server 接続を取得し、次に PostgreSQL 接続を取得してから、新しい JTDS SQL Server 接続を再度取得したい場合はどうすればよいでしょうか?

4

2 に答える 2

12

勘違いしている。でドライバ クラスをロードするとClass.forName()、そのドライバは自身をドライバ マネージャに登録します。これは、必要な数のドライバーで行うことができます。

の最初のパラメーターgetConnection()は、その接続に使用するドライバーを一意に識別する URL です。

ただし、ドライバー マネージャーから直接接続を取得するのではなく、接続プール ( Apache DBCPなど) を使用することをお勧めします。これにより、必要に応じて接続を取得できるようになり、接続をプールに返すのを忘れた場合に警告するなどの追加機能が提供されます。

于 2013-02-18T21:16:04.113 に答える
1

を使用する必要がありますDataSourceDataSource接続の種類ごとに を構成し、毎回適切なを使用しますDataSource(たとえば、適切な を介してDAO)

于 2013-02-18T21:08:35.007 に答える