JDBCまたはSpringを使用してWebアプリケーションをSQLServerデータベース(Expressではない)に接続する際に問題が見つかりました。
私のコードのある時点で、私は次のように呼びます。
this.conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
アプリケーションは正しく実行されていますが、待機していて続行しません。同じことが、次のような別のWebアプリケーションでも発生します。
getJdbcTemplate().query(...)
以下を使用してデータベースを確認すると、次のようになります。
SELECT SPID, STATUS, PROGRAM_NAME, LOGINAME=RTRIM(LOGINAME), HOSTNAME, CMD
FROM MASTER.DBO.SYSPROCESSES
WHERE DB_NAME(DBID) = 'myDB' AND DBID != 0
接続が開かれているのがわかりますが、「AWAITINGCOMMAND」です。例外は処理されず、何かを待っているだけです。
その接続(監査ログイン)のSQLServerプロファイラーは次を返します。
-- 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の構成に関連するものだと思いますが、何も変更しなかったと確信しています。接続が正しく作成されているため、ファイアウォールの問題を除外できます。誰か助けてくれませんか?
ありがとう、アンドレア