如何解决;无效的字符串或缓冲区长度“;从java调用resultset.getString()连接以访问mdb后

如何解决;无效的字符串或缓冲区长度“;从java调用resultset.getString()连接以访问mdb后,java,ms-access,jdbc,odbc,Java,Ms Access,Jdbc,Odbc,我的java应用程序查询Access DB(.mdb)时遇到一些问题。我得到这个错误: [Microsoft][ODBC Driver Manager] Invalid string or buffer length 但仅当尝试对某些行调用resultset.getString(“xxx”)时。我正在查询的行中大约有一半处理得很好,但另一半给了我这个错误。行中的数据本身似乎有问题,但我不太清楚是什么原因造成的。听起来错误总是发生在某些行上,而不是其他行上。如果是这样,您可以创建一个最小的测试用

我的java应用程序查询Access DB(.mdb)时遇到一些问题。我得到这个错误:

[Microsoft][ODBC Driver Manager] Invalid string or buffer length

但仅当尝试对某些行调用
resultset.getString(“xxx”)
时。我正在查询的行中大约有一半处理得很好,但另一半给了我这个错误。行中的数据本身似乎有问题,但我不太清楚是什么原因造成的。

听起来错误总是发生在某些行上,而不是其他行上。如果是这样,您可以创建一个最小的测试用例,方法是在一个单独的数据库中创建一个表的副本,删除除一行或两行之外的所有行,然后创建该数据库文件(.mdb或.accdb)可以通过类似这样的服务下载,以便我们调查问题?我发现这与我正在使用的特定JDK有关。在带有1.6.0_xx的PC上运行时出现问题,但在带有1.7.0_xx的PC上运行时完全没有问题。感谢更新。请考虑把你的发现作为一个答案,以便它可以帮助其他人在类似的情况下。(在堆栈溢出问题上,回答您自己的问题是完全可以接受的。)如果我找到了一个更具体的原因,说明为什么一个JDK与另一个JDK会发生这种情况,我会将其作为一个答案发布。如果可能的话,我可以在不改变我的环境的情况下,在我的开发环境中修复它。谢谢你提供的信息!