Я обнаружил проблему с подключением моего веб-приложения с использованием JDBC или Spring к базе данных SQLServer (не Express).
В какой-то момент моего кода я вызываю:
this.conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
Приложение работает правильно, но оно ожидает и не продолжается.То же самое происходит с другим веб-приложением с:
getJdbcTemplate().query(...)
Если я посмотрю на БД, используя:
SELECT SPID, STATUS, PROGRAM_NAME, LOGINAME=RTRIM(LOGINAME), HOSTNAME, CMD
FROM MASTER.DBO.SYSPROCESSES
WHERE DB_NAME(DBID) = 'myDB' AND DBID != 0
Я вижу, что соединение открыто, но "AWAITING COMMAND",Никакое исключение не обрабатывается, оно просто чего-то ждет.
Профилировщик SQL Server для этого соединения (проверка входа в систему) возвращает:
-- network protocol: TCP/IP
set quoted_identifier on
set arithabort off
set numeric_roundabort off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set cursor_close_on_commit off
set implicit_transactions off
set language us_english
set dateformat mdy
set datefirst 7
set transaction isolation level read committed
Это работает до нескольких недель назад.Я думаю, это должно быть связано с настройкой SQLServer, но я уверен, что ничего не изменил.Мы можем исключить проблему брандмауэра, потому что соединение создано правильно.Кто-нибудь может мне помочь, пожалуйста?
спасибо, Андреа