使用jtds 1.2.5稳定连接时出现此错误:“找不到消息属性prop.sokeepalive的消息资源”

起初,我使用的是1.2.2版本,但有此错误消息。 “获取jdbc连接时出错:USE数据库语句失败,因为旧客户端驱动程序无法识别数据库排序规则Serbian_Latin_100_CI_AS。请尝试升级客户端操作系统或将服务更新应用于数据库客户端软件,或使用其他排序规则。请参阅SQL Server。在线图书,以获取有关更改归类的更多信息。”

作为解决方案,我尝试使用1.2.5版本来获取开头提到的错误。

我在jtds文档中寻找提示,但无法解决问题。

有任何想法吗?

提前致谢。

最佳答案

尝试使用-Duser.language=en -Duser.region=US -Duser.country=US选项运行客户端JVM。
这将切换到任何地方都支持的美国区域设置。

也许这种简单的解决方案在您的情况下是可以接受的。
至少,这可以表明问题是否出在我看来jtds包中当前语言环境缺少i18n消息资源包。

更新资料

尝试仅复制jtds.jar/net/sourceforge/jtds/jdbc/Messages.properties并将其添加到classpath或作为net/sourceforge/jtds/jdbc/Messages_sr_RS.properties添加到jtds.jar中。

一些解释性链接:

Message bundle choosing process

net.sourceforge.jtds.jdbc.Messages source

http://www.localeplanet.com/java/sr-RS/

更新2

无论如何,消息束选择过程应切换到默认提供的资源。
我的第二个猜测是jtds包的Messages.properties被一些同名的不相关文件遮盖了。
检查您的类路径。

您应该能够调试net.sourceforge.jtds.jdbc.Messages以便确定正在发生的事情。

关于java - 创建JTD连接时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17965740/

10-09 03:53