Метод getClientConnectionID (SQLServerConnection)
Возвращает идентификатор соединения для последней попытки соединения, вне зависимости от того, была ли она успешной.
Синтаксис
public Java.util.UUID SQLServerConnection.getClientConnectionID();
Возвращаемое значение
16-байтовый идентификатор GUID, представляющий идентификатор соединения для последней попытки соединения. Значение NULL, если после инициирования запроса на соединение и подтверждения перед выполнением входа произошла ошибка.
Исключения
Замечания
См. сведения о получении доступа к диагностической информации в журнале расширенных событий.
В следующем образце кода показано, как получить идентификатор соединения.
Connection con = DriverManager.getConnection(connectionUrl);
UUID id = ((ISQLServerConnection)con).getClientConnectionId();
В следующем образце кода показан другой способ получения идентификатора соединения.
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 и более ранних версиях.
Идентификатор соединения можно найти в журнале расширенных событий, чтобы определить, на сервере ли произошла ошибка (если включена регистрация расширенных событий в журнале для идентификатора соединения). Для некоторых ошибок идентификатор соединения можно также найти в кольцевом буфере соединений (Устранение неполадок подключения в SQL Server 2008 с помощью кольцевого буфера соединений). Если в кольцевом буфере соединений идентификатор соединения отсутствует, то скорее всего возникла сетевая ошибка.