2012-01-25 41 views
4

我發現將使用JDBC或Spring的Web應用程序連接到SQLServer數據庫(不是Express)時出現問題。使用Spring的SQL服務器連接問題

在我的代碼的某些時候,我呼籲:

this.conn = DriverManager.getConnection(db_connect_string, db_userid, db_password); 

和應用程序正常運行,但它的等待,而且不會進行。與其他Web應用程序同樣的情況:

getJdbcTemplate().query(...) 

如果我看一看使用DB:

SELECT SPID, STATUS, PROGRAM_NAME, LOGINAME=RTRIM(LOGINAME), HOSTNAME, CMD 
FROM MASTER.DBO.SYSPROCESSES 
WHERE DB_NAME(DBID) = 'myDB' AND DBID != 0 

我可以看到有打開的連接,而是「命令等待」。沒有例外處理,它只是在等待什麼。

的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配置有關,但我確定我沒有改變任何東西。我們可以排除防火牆問題,因爲連接已正確創建。任何人都可以幫助我嗎?

感謝,安德烈

+0

如果您正在使用Java 6 Update 29或Java 7/Java 7 Update 1,請參閱我的回答http://stackoverflow.com/a/8988851/466862,它可能是相同的問題 –

+0

Tnx,它是1.6。 0_29,我會嘗試更新它(如果可用)或嘗試與另一個JVM –

+0

這是錯誤參考:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7105007 –

回答