次の方法で共有


getClientConnectionID メソッド (SQLServerConnection)

JDBC ドライバーのダウンロード

接続に成功したか失敗したかにかかわらず、直近に試行された接続の ID を取得します。

構文

public Java.util.UUID SQLServerConnection.getClientConnectionID();  

戻り値

直近に試行された接続の ID を表す、16 バイトの GUID。 接続要求の開始後にエラーが発生し、ログイン前ハンドシェイクに失敗した場合は NULL。

例外

SQLServerException

解説

拡張イベント ログの診断情報へのアクセスの詳細については、「拡張イベント ログの診断情報へのアクセス」を参照してください。

次のサンプルは、接続 ID の取得方法を示しています。

Connection con = DriverManager.getConnection(connectionUrl);  
UUID id = ((ISQLServerConnection)con).getClientConnectionId();  

次のサンプルは、接続 ID を取得する別の方法を示しています。

SQLServerConnectionPoolDataSource ds = new SQLServerConnectionPoolDataSource();  
ds.setUser("...");  
ds.setPassword("...");  
ds.setServerName("...");  
PooledConnection pcon= ds.getPooledConnection();  
Connection cn = pcon.getConnection();  
UUID conid = ((ISQLServerConnection)cn).getClientConnectionId();  

getClientConnectionID は、接続先のサーバーのバージョンに関係なく使用できますが、SQL Server 2008 R2 以前のサーバーの場合は、拡張イベント ログと、接続リング バッファー エラーに関するエントリが提供されません。

接続 ID のログ記録に関する拡張イベントが有効になっている場合は、拡張イベント ログ内で接続 ID を探し、エラーがサーバー上のものであるかどうかを確認できます。 また、一部の接続エラーについては、接続リング バッファー (接続リング バッファーによる SQL Server 2008 での接続トラブルシューティング) 内で接続 ID を検索することもできます。 接続 ID が接続リング バッファー内にない場合は、ネットワーク エラーであると考えることができます。

参照

SQLServerConnection のメンバー
SQLServerConnection クラス