2013-05-20 56 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

相关问题