2013-05-20 59 views
1

我正在使用jTDS連接到SQL Server的遺留項目。客戶希望我們支持SQL Server 2012 AlwaysOn。一個關鍵的要求是我們的應用程序能夠在發生故障轉移時自動重新連接到輔助服務器。使用jTDS連接到SQL Server 2012可用性組偵聽器

不幸的是,jTDS 3.0不支持AlwaysOn。我有兩個選擇

  1. 使用MS JDBC(http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774
  2. 編寫檢查活動節點的狀態後返回連接字符串的包裝

選項1是嚴重的工程(重測試)努力。有沒有人嘗試過使用jTDS連接到SQL 2012可變性組偵聽器的選項2或其他內容?如果是,請提供一些指導

回答

0

在調整我的DAL以處理特定的SQL錯誤後,只要有可用性組故障轉移,我就能夠重試所有事務。

我處理以下SQL錯誤

嚴重性16 DB的錯誤代碼(10054,233,232,2812,64,3906) 嚴重性14 Db的錯誤代碼(983,922,945)

+0

我知道這是一個老問題,但是你用什麼連接字符串來連接到監聽器?你指定了MultiSubnetFailover = True嗎? – Greg

+0

這將是MS的JDBC驅動程序。使用MultiSubnetFailover = True有助於在發生故障時更快地重試連接。它唯一的優點是應用程序用戶很難理解停機時間(https://msdn.microsoft.com/zh-cn/library/gg558121(v=sql.110).aspx) – Dhawalk

相關問題