取消
顯示的結果
而不是尋找
你的意思是:

SQLServerException:死鎖

swzzzsw
新的貢獻者三世

我使用磚通過JDBC連接到SQL管理實例。SQL操作我需要執行包括刪除、更新和簡單的讀和寫。因為火花語法隻處理簡單的讀和寫,我不得不打開SQL連接使用Scala並執行刪除和更新查詢。

這裏有一個樣品我使用scala代碼來執行刪除查詢:

= DriverManager val連接。jdbcUsername getConnection (jdbcUrl, jdbcPassword) val聲明= connection.createStatement () val queryStr =“刪除從樣本”val res = stmt.execute (queryStr) connection.close ()

這些線工作非常好如果我運行一個筆記本。然而,當我運行幾個並行的筆記本,我可以進入死鎖問題(見下文)

image.png我怎樣才能解決這個錯誤呢?

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

這個問題不是你的代碼,而是你並行運行的查詢。SQL server數據庫由於某種原因不能處理。

遠東一個筆記本運行所做的更新而另一個要刪除的記錄。

在原帖子查看解決方案

4回複4

werners1
尊敬的貢獻者三世

這不是一個引發錯誤,但純粹的數據庫。

網上有大量的文章如何防止死鎖,但沒有單一的解決方案。

swzzzsw
新的貢獻者三世

我不是一個流利的Scala用戶。你知道一個解決方案,用於處理JDBC在Scala中?

werners1
尊敬的貢獻者三世

這個問題不是你的代碼,而是你並行運行的查詢。SQL server數據庫由於某種原因不能處理。

遠東一個筆記本運行所做的更新而另一個要刪除的記錄。

swzzzsw
新的貢獻者三世

得到它!謝謝你這麼多!看起來我可以使用錯誤處理重新運行死鎖,直到它的工作原理。謝謝你指出我正確的方向!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map