如何使用Java访问MS access查询(非普通表)?

如何使用Java访问MS access查询(非普通表)?,java,sql,ms-access,jdbc,ucanaccess,Java,Sql,Ms Access,Jdbc,Ucanaccess,我在使用java中的UCANCESS库从MS Access中的查询中获取数据时遇到问题 在Access中,您可以创建普通表-从中获取数据没有问题。 您还可以创建一个“查询”,这意味着您可以使用不同表中的信息创建一个表 尽管如此,当使用相同的代码并仅更改表的名称时,我还是会遇到以下错误,这意味着他找不到它,或者我不允许访问(可能是因为找不到它): UCAExc:::4.0.4用户缺少权限或找不到对象:ALLE OE RG ABFRAGE 以下是我正在使用的方法: Connection conn=

我在使用java中的UCANCESS库从MS Access中的查询中获取数据时遇到问题

在Access中,您可以创建普通表-从中获取数据没有问题。 您还可以创建一个“查询”,这意味着您可以使用不同表中的信息创建一个表

尽管如此,当使用相同的代码并仅更改表的名称时,我还是会遇到以下错误,这意味着他找不到它,或者我不允许访问(可能是因为找不到它):

UCAExc:::4.0.4用户缺少权限或找不到对象:ALLE OE RG ABFRAGE

以下是我正在使用的方法:

Connection conn= DriverManager.getConnection("jdbc:ucanaccess://C:/Users/B070252/Desktop/KopieAuswertungen.accdb"); //AuswertungenZBAV
    Statement s = conn.createStatement();
    ResultSet rs = s.executeQuery("SELECT * FROM [ALLE OE RG ABFRAGE]");
    while (rs.next()) {
        System.out.println(rs.getString(2));
    }
    return null;

注意:我正在使用UcanAccess,但问题不在于库。我非常感谢每一个提示或解决方案,希望您能帮助我。

兄弟,我从查询中复制了数据,并将其粘贴到一个普通的表中。我现在可以阅读正常表格了

例外情况非常清楚。您应该逐个字符匹配要访问的表的名称,以查看是否存在不匹配。另外,请检查特权。Access中有一些角色需要查看。谢谢您的回答。此文件属于我,字符100%相同。还有其他想法吗?我读过的原因和解决方案:1)通过在Access中运行Compact&Repair来纠正db损坏;2) Access查询(或它所依赖的任何查询)有动态参数,如果有,请将其删除。您所说的“动态参数”是什么意思?我试图从一个表中选择*我认为UCanAccess不支持查询其他查询。如果是这样的话,它充其量也只是部分可用,Access支持查询随机ODBC数据库、调用VBA函数等几乎不可能实现的查询。