データベースに接続できるようにするためにはまず、ドライバをロードしなければなりません。 2つの方法があり、どちらを使用すべきかどうかは作成するコードに依存します。
1番目の方法では、Class.forName()メソッドを使用して暗黙的にドライバをロードします。 PostgreSQL™の場合は以下のようにします。
Class.forName("org.postgresql.Driver");
これによりドライバがロードされ、そのロード中にドライバ自身が自動的にドライバをJDBCに登録します。
forName()メソッドは、ドライバが利用できなかった場合にClassNotFoundExceptionをスローします。
これは最もよく使用される方法ですが、作成するコードがPostgreSQL™のみに制限されます。 作成するコードが今後他のデータベースシステムにアクセスする可能性があれば、または、PostgreSQL™固有の拡張を使用しないのであれば、2番目の方法を勧めます。
2番目の方法では、起動時に-D引数を使用して、ドライバをパラメータとしてJVMに渡します。 以下に例を示します。
java -Djdbc.drivers=org.postgresql.Driver example.ImageViewerこの例では、JVMは初期化段階でドライバのロードを試みます。 ロード後にImageViewerが起動されます。
この方法は、コードを再コンパイルすることなく他のデータベースパッケージを使用することができるという点でも優れています。 この時変更しなければならないのは、次節で説明する接続URLのみです。
本節の終わりとして、その後コードでConnectionを開く時に、No driver available SQLExceptionがスローされる場合があります。 これは、おそらくドライバがクラスパス内に存在しないこと、あるいは、パラメータの値が不正確であることが原因です。