次の方法で共有


接続の操作

以下のセクションでは、Microsoft SQL Server JDBC ドライバーの SQLServerConnection クラスを使用して SQL Server データベースに接続する方法について、いくつか例を示します。

注メモ :

JDBC ドライバーを使用した SQL Server への接続で問題が発生する場合は、対処方法について、「接続のトラブルシューティング」を参照してください。

DriverManager クラスを使用した接続の作成

SQL Server データベースへの接続を最も効率的に作成するには、JDBC ドライバーを読み込み、次のように DriverManager クラスの getConnection メソッドを呼び出します。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"
Connection con = DriverManager.getConnection(connectionUrl);

この手法では、渡された URL で正常に接続できるドライバーを示す一覧から、最初の使用可能なドライバーを使用して、データベース接続を作成します。

注メモ :

sqljdbc4.jar クラス ライブラリを使用する場合は、アプリケーションから Class.forName メソッドを呼び出してドライバーの登録または読み込みを明示的に行う必要はありません。DriverManager クラスの getConnection メソッドを呼び出すと、登録されている一連の JDBC ドライバーから適切なドライバーが検出されます。詳細については、「JDBC ドライバーの使用」を参照してください。

SQLServerDriver クラスを使用した接続の作成

ドライバーの一覧で DriverManager 用に特定のドライバーを指定する必要がある場合は、次のように SQLServerDriver クラスの connect メソッドを使用して、データベース接続を作成できます。

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"
Connection con = d.connect(connectionUrl, new Properties());

SQLServerDataSource クラスを使用した接続の作成

SQLServerDataSource クラスを使用して接続を作成する必要がある場合は、次のように、クラスのさまざまな setter メソッドを使用してから getConnection メソッドを呼び出すことができます。

SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("MyUserName");
ds.setPassword("*****");
ds.setServerName("localhost");
ds.setPortNumber(1433); 
ds.setDatabaseName("AdventureWorks");
Connection con = ds.getConnection();

限定されたデータ ソースを対象とした接続の作成

限定されたデータ ソースを対象にデータベース接続を作成するには複数の方法があります。それぞれの方法は、接続 URL を使用して設定するプロパティによって設定されます。

リモート サーバーの既定のインスタンスに接続するには、次の方法を使用します。

String url = "jdbc:sqlserver://MyServer;integratedSecurity=true;"

サーバーの特定のポートに接続するには、次の方法を使用します。

String url = "jdbc:sqlserver://MyServer:1533;integratedSecurity=true;"

サーバーの名前付きインスタンスに接続するには、次の方法を使用します。

String url = "jdbc:sqlserver://209.196.43.19;instanceName=INSTANCE1;integratedSecurity=true;"

サーバーの特定のデータベースに接続するには、次の方法を使用します。

String url = "jdbc:sqlserver://172.31.255.255;database=AdventureWorks;integratedSecurity=true;"

その他の接続 URL の例については、「接続 URL の構築」を参照してください。

カスタムのログイン タイムアウトを持つ接続の作成

サーバーの負荷またはネットワーク トラフィックを調整する必要がある場合は、次のように、特定のログイン タイムアウト値を秒数で指定した接続を作成できます。

String url = "jdbc:sqlserver://MyServer;loginTimeout=90;integratedSecurity=true;"

アプリケーション レベルの ID を持つ接続の作成

ログとプロファイリングを使用する必要がある場合は、次のように、接続が特定のアプリケーションからのものであることを識別する必要があります。

String url = "jdbc:sqlserver://MyServer;applicationName=MYAPP.EXE;integratedSecurity=true;"

接続の終了

次のように、SQLServerConnection クラスの close メソッドを呼び出すことで、データベース接続を明示的に閉じることができます。

con.close();

これにより、SQLServerConnection オブジェクトが使用しているデータベース リソースが解放されます。また、接続がプールされるシナリオでは、接続が接続プールに戻されます。

注メモ :

また、close メソッドを呼び出すと、保留中のトランザクションがすべてロールバックされます。

参照

その他の技術情報

JDBC ドライバによる SQL Server への接続