创建jtds连接时出错

时间:2013-07-31 08:51:44

标签: java sql-server locale jtds

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

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

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

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

任何想法?

提前致谢。

2 个答案:

答案 0 :(得分:1)

尝试使用-Duser.language=en -Duser.region=US -Duser.country=US选项运行客户端JVM。 这将切换到所有支持的美国语言环境。

也许这种简单的解决方案在您的情况下是可以接受的。 至少,这可以揭示问题是缺少itdn消息资源包为jtds包中的当前语言环境,我想。

<强>更新

尝试只复制jtds.jar/net/sourceforge/jtds/jdbc/Messages.properties并将其添加到类路径或jtds.jar中作为net/sourceforge/jtds/jdbc/Messages_sr_RS.properties

一些解释链接:

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,以便找到正在发生的事情。

答案 1 :(得分:0)

我尝试过其他jtds版本。从1.2.2和1.3.1(重新编译为java 1.6)并且所有这些都有相同的错误。

“获取jdbc连接时出错:USE数据库语句失败,因为较旧的客户端驱动程序无法识别数据库排序规则Serbian_Latin_100_CI_AS。请尝试升级客户端操作系统或将服务更新应用于数据库客户端软件,或使用其他排序规则。有关更改排序规则的详细信息,请参阅SQL Server联机丛书。“

也许jdts不支持这种排序规则。