接続の操作

以下のセクションでは、Microsoft SQL Server 2005 JDBC Driver の 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 で正常に接続できるドライバを示す一覧から、最初の使用可能なドライバを使用して、データベース接続を作成します。

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

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

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
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 への接続