ネットワーク リレーショナル データベース アプリケーション システムは 3 レベルの構造です。クライアントとサーバーはネットワークを介して接続され、クライアント アプリケーション プログラムは通信プロトコルに従ってサーバー側のデータベース プログラムと通信し、データベース サービス プログラムは SQL コマンドを通じてデータベース管理システムと通信します。
Java プログラムをデータベースに接続するには 2 つの方法があります。 1 つは、JDBC-ODBC ブリッジを使用してデータベースに接続する方法で、もう 1 つは、純粋な Java JDBC ドライバーを使用してデータベースに接続する方法です。
JDBC-ODBC ブリッジを使用してデータベースに接続する
Java プログラムは、JDBC-ODBC ブリッジを使用してデータベースに接続します。Java プログラムとデータベース間の通信プロセスは次のとおりです。
まず、データベース アプリケーションが ODBC ドライバー マネージャーに API 呼び出しを発行します。ODBC ドライバー マネージャーは、この呼び出しをデータベース管理システムへの ODBC ドライバー呼び出しに変換します。次に、データベース管理システムは、この呼び出しをオペレーティング システムへのデータ入出力に変換します。システムコール。最後に、オペレーティング システムはデータベースから実際のデータを取得し、それを段階的に返します。
データベース プログラミングでは、まずデータ ソースを設定する必要があります。ODBC でデータ ソースを設定する手順は次のとおりです。
Windows のコントロール パネルで管理ツールを開きます。 Windows XP の場合: [パフォーマンス メンテナンス] >> [管理ツール] >> [データ ソース (ODBC)] を選択します。 Windows 2000 の場合: [管理ツール] >> [データ ソース] を選択します。
「データソース」を開きます。 [ODBC データ ソース マネージャー] ダイアログ ボックスが表示され、既存のデータ ソース名が表示されます。
「ユーザーDSN」を選択し、「追加」ボタンをクリックすると、データソースドライバーをインストールするダイアログボックスが表示されます。データソース(*.mdb)にアクセスし、「完了」ボタンをクリックすると、「データソースの作成」ダイアログボックスが表示されます。作成するデータソースの名前を入力し、作成したデータソースのデータベーステーブルを選択します。
データベースエリアの「選択」ボタンをクリックし、必要なデータベーステーブルを選択します。データ ソースのアクセス レベルを承認する必要がある場合は、[詳細] ボタンをクリックします。ログイン名とパスワードを設定したら、「OK」ボタンをクリックすると、ODBC マネージャーでの Access データベースの設定が完了します。
データベース テーブルがまだ存在しない場合は、作成する必要があります。
データ ソースはデータベースです。データ ソースを設定した後、Java プログラムはデータベース テーブルにアクセスし、プログラムをデータベースに接続するための JDBC-ODBC ブリッジを確立する必要があります。その後、プログラムは SQL ステートメントをデータベースに送信し、データベースから返された結果を処理できます。 Java データベース接続 JDBC (Java DataBase Connectivity) は、Java 言語で記述された一連のクラスとインターフェイスで構成され、Java プログラムをデータベースに接続するための API です。データベースとの接続を確立し、SQL ステートメントをデータベースに送信し、データベースから返された結果を処理するという 3 つのことを実行できます。
クラス メソッド Class.forName(String s) を呼び出すと、JDBC-ODBC ブリッジを確立できます。たとえば、次のコードを実行します。
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") }catch(Exception e){}
Java プログラム用のドライバーがロードされます。
[例] データベースに接続するためのメソッド connectByJdbcOdbc() を記述します。 このメソッドは、指定されたデータベース URL、ユーザー名、パスワードに従ってデータベースに接続します。接続が成功した場合、メソッドは接続オブジェクトを返します。失敗すると空が返されます。
public static connection connectByjdbcOdbc(String url, String username, String passwd){ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //ODBC ドライバーを読み込みます (Exception e){ e .printStackTrace(); //接続に失敗しました} try{ con = DriverManager.getConnection(url, ユーザー名, パスワード); catch (SQLExceotuib e){ e.printStackTrace(); //接続に失敗しました} return con;
次のコードは、connectByJdbcOdbc() メソッドの呼び出しです。データベース接続が成功した場合は、成功したデータベース接続情報ウィンドウが表示されます。それ以外の場合は、失敗したデータベース接続情報ウィンドウが表示されます。
if ((con = connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) != null){ JoptionPane.showMessageDialog(null, "データベース接続成功"); try{ con.close(); con = null; } catch (SOLException e){}}else JOptionPane.showMessageDialog(null, "データベース接続に失敗しました");
Pure Java JDBC ドライバーを使用してデータベースに接続する
Java プログラムは、純粋な Java JDBC ドライバーを使用してデータベースに接続することもできます。この方法は広く使用されていますが、対応するドライバー パッケージをダウンロードする必要があります。これは、異なるデータベースの接続コードが異なる場合があり、異なるデータベースに接続するときに読み込まれるドライバーも異なる場合があるためです。たとえば、SQL Server に接続するドライバーは、www.msdn.com Web サイトからダウンロードされます。msbase.jar、mssqlserver.jar、msutil.jar の 3 つのパッケージがあり、これら 3 つのパッケージを jdk/ に配置する必要があります。 jre/lib/ext/ ディレクトリに移動するか、その配置を CLASSPATH に設定します。
Pure Java JDBC ドライバーを使用してデータベースに接続するプロセスは次のとおりです。
ドライバーをロードします。ドライバーをロードするには 2 つの方法があります。
1 つは、ドライバーを java.lang.System のプロパティ jdbc.drivers に追加することです。これは、DriverManager クラスによってロードされるドライバー クラス名のコロンで区切られたリストです。
もう 1 つの方法は、関連する Web サイトからドライバーをダウンロードした後、Class.forName() メソッドを使用して、指定されたドライバーをプログラムにロードすることです。例えば:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
指定されたデータベースの URL を作成します。データベースの URL オブジェクトはネットワークのユニフォーム リソース ロケーターに似ており、その形式は次のとおりです。
jdbc:subProtocol:subName://ホスト名:ポート:データベース名=XXX
このうち、subprotocol は特定のドライバーによってサポートされるデータベース接続メカニズムであり、subName は現在の接続メカニズムでの特定の名前であり、port は接続されるデータベースの名前です。たとえば、次のコードはデータベース URL である可能性があります。
jdbc:Microsoft:sqlserver://localhost:1433;データベース名=ksinfo
データベースの URL 記述では、Miscrosoft が提供するメカニズムを使用し、sqlserve ドライバーを使用して、ポート 1433 を介してローカル マシン上の ksInfo データベースにアクセスします。
接続を確立します。 DriverManager のメソッド getConnection() は接続を確立します。
[例] データベースに接続する静的メソッド connectByJdbc() を記述します。 このメソッドは、指定されたデータベース URL、ユーザー名、パスワードに従ってデータベースに接続します。接続が成功した場合、メソッドは true を返します。の場合は false を返します。
public static Connection conectByJdbc(String url, String username, String password){ Connection con = null; try{ Class.forName( //特定のドライバー "com.microsoft.jdbc.sqlserver.SQLServerDriver" を読み込みます } catch (Exception e) ){ e.printStackTrace(); //接続に失敗しました} try{ con = DriverManage.getConnection(url, ユーザー名, パスワード); (SQLException e){ e.printStackTrace(); //接続に失敗しました} //接続に成功しました}