2014-03-13 70 views
0

我在我的程序中碰到一個特定的數據庫時出現了一個奇怪的問題,我會盡我所能解釋它。mssql jdbc連接掛在servlet中

我們有一個使用WebSphere數據池連接到數據庫的Web應用程序。我們使用該連接來連接到同一數據庫服務器中的其他數據庫。在這一點上一切正常。我創建了一個創建報表的servlet,因此它必須對多個數據庫運行多個查詢。它運行得很快而且速度很快,但是當它到達第四個數據庫時,它會停止並且連接掛起。我進入數據庫服務器活動監視器,在那裏我看到它創建了幾個線程,一些正在運行,一些被暫停。當我殺掉其中一個我的程序回來並出現錯誤,並繼續。它繼續這樣做,而它正在擊中特定的數據庫,一旦它完成並在其上移動,就會執行下一個3 DB而沒有問題。

我已經看過這個數據庫的屬性,並與其他人比較,但我沒有看到任何不同。有人能請我指出正確的方向來確定這個數據庫的問題嗎?

UPDATE - 下面是活動監視器的屏幕截圖:enter image description here

+0

它在這個數據庫上做了什麼? –

+0

在掛起的數據庫上?它只是坐在那裏,活動監視器顯示幾個進程一些正在運行並且一些暫停。我將發佈活動監視器的屏幕截圖。 – MJSalinas

+0

你在你的servlet上運行這個數據庫是什麼? –

回答

0

經過多次討論這個數據庫後,我後來被告知,這個特定的數據庫最初是從MSSQL服務器2000遷移出來的,我們當前正在使用MSSQL 2008 r2。我創建了一個新的數據庫,將損壞的數據庫中的所有數據導入到新的數據庫中,並將它指向新的數據庫,並且現在工作正常。我們的懷疑是它是MSSQL 2008 R2所需要的損壞或丟失的東西。

感謝所有幫助我們縮小範圍的巨大幫助。

0

檢查連接關閉,你可能會執行這麼多的疑問在一起會影響服務器的健康狀況,或嘗試運行工作這些查詢這樣你就可以看到他們是否花了太多時間來執行。

+0

是的,我試着在工作臺上執行SQL,他們幾乎是瞬間運行的,我也考慮過由於servlet而搞亂了連接,我檢查了它並且一切都很好,它像30 sql一樣運行沒問題,掛起這個特定的數據庫的4,然後運行像15,沒有問題後, – MJSalinas

+0

顯示你的代碼 – Divya

+0

顯示java代碼?我認爲問題是在該數據庫中的某些設置或類似的東西。使用標準的東西來連接和調用一個數據庫我唯一做的「不同」是我連接到其他數據庫使用: SELECT A.ID,B.NAME FROM TABLEA A JOIN OTHERDB..TABLEB ON A.ID = B.ID – MJSalinas