gpt4 book ai didi

java - 尝试使用 Jackcess (Java) 从 Access 读取时出现 "unsupported collating sort order"

转载 作者:行者123 更新时间:2023-11-28 23:39:51 27 4
gpt4 key购买 nike

我目前正在开发一个 Java 应用程序,目的是使用 Jackcess 开源库读取 Microsoft Access 文件。 Java 应用程序稍后将显示 Access 文件中包含的表。

到目前为止,这是我的代码:

public class Test {

public static void main(String[] args) throws IOException {

File file = new File("\\\\student.local\\Files\\Home\\nat12mja\\Downloads\\Testdoc.accdb");
Database db = DatabaseBuilder.open(file);

Table table = db.getTable("Table1");

for(Row row : table){
System.out.println(row.get("Field1"));
}

}
}

这些是我的进口:

    import java.io.File;
import java.io.IOException;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;

此外,我已将这些 Jar 文件添加到我引用的库中:

commons-lang-2.4.jar、commons-logging-1.1.jar、jackcess-2.0.2.jar

当我运行我的应用程序时,我收到此错误消息(System.out.println() 按预期工作):

    dec 21, 2013 1:54:27 EM com.healthmarketscience.jackcess.impl.IndexData setUnsupportedReason
WARNING: unsupported collating sort order SortOrder[1053(0)] for text index, making read-only
dec 21, 2013 1:54:27 EM com.healthmarketscience.jackcess.impl.DatabaseImpl readSystemCatalog
INFO: Could not find expected index on table MSysObjects

我已经用同一个 Access 文件的旧版本进行了测试,但问题仍然存在。

这是图书馆相关的问题吗?还是我错过了其他东西?

最佳答案

当数据库使用“常规”排序顺序时,Jackcess 仅支持 Access 数据库中 Text 字段的索引(引用:here)。

根据相关Microsoft Office support page :

To reset the sort order for an existing database, select the language you want to use and then run a compact operation on the database.

因此,对于 Access 2010,这大概意味着从 Access 功能区栏中选择 文件 > 选项,为“新数据库排序顺序”选择“常规”或“常规 - 旧版”常规”选项卡,...

screenshot

...然后在数据库上执行“压缩和修复”。

注意:如果 Windows 使用的是非英语语言环境,则上述过程可能无法解决问题。参见 this answer了解详情。

关于java - 尝试使用 Jackcess (Java) 从 Access 读取时出现 "unsupported collating sort order",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20925022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com