getClientConnectionID 方法 (SQLServerConnection)
无论最新连接尝试成功还是失败,都获取该尝试的连接 ID。
语法
public Java.util.UUID SQLServerConnection.getClientConnectionID();
返回值
表示最新连接尝试的连接 ID 的 16 字节的 GUID。 或者为 NULL(如果在启动连接请求和预登录握手后失败)。
例外
备注
若要详细了解如何访问扩展事件日志中的诊断信息,请参阅访问扩展事件日志中的诊断信息。
以下示例显示如何获取连接 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,可以认为是网络错误。