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 类