使用 ucanaccess 控制台出现错误:UCAExc:::3.0.2 用户缺少权限或找不到对象:DBO_TBLMATERIALS

Posted

技术标签:

【中文标题】使用 ucanaccess 控制台出现错误:UCAExc:::3.0.2 用户缺少权限或找不到对象:DBO_TBLMATERIALS【英文标题】:Using ucanaccess console I get error: UCAExc:::3.0.2 user lacks privilege or object not found: DBO_TBLMATERIALS 【发布时间】:2015-11-19 01:58:01 【问题描述】:

我已阅读此问题的其他实例,根据答案,我已验证所有内容都拼写正确,并且我已运行压缩和修复工具。

我尝试访问的表是一个链接表,如您所见,它没有被列为正在加载。如果我从其中一个非链接表中选择,则查询成功。

任何帮助将不胜感激。

这是控制台输出:

C:\Temp\UCanAccess-3.0.2-bin>console.bat
Please, enter the full path to the access file (.mdb or accdb): C:\Work\Jira\SAP\SandboxDB.ACCDB
Loaded Tables:
Category List, Table1, Table2, Table3, Table4, Temp
Loaded Queries:

Loaded Indexes:
Primary Key  on Table3 Columns: (ID)
, Primary Key  on Table4 Columns: (ID)
, Primary Key  on Temp Columns: (ID)
, Index on Temp Columns: (ID)

UCanAccess>
Copyright (c) 2012 Marco Amadei
UCanAccess version 3.0.2
You are connected!!
Type quit to exit

Commands end with ;

use:
   export <pathToCsv>;
for exporting into a .csv file the result set from the last executed query

UCanAccess>select * from dbo_tblMaterials;
UCanAccess>UCAExc:::3.0.2 user lacks privilege or object not found: DBO_TBLMATERIALS

UCanAccess>

【问题讨论】:

在开始时重申您的问题。不要依赖标题。 是什么样的外部数据库?(access, xls...) @jamadei - “dbo_”前缀强烈表明它是一个引用 SQL Server 的 ODBC 链接表。不过,如果 Rich 不厌其烦地确认这一点,那就太好了。 【参考方案1】:

一个名为 [dbo_tblMaterials] 的 Access 链接表几乎可以肯定是一个指向 SQL Server 表的 ODBC 链接表。 UCanAccess使用Jackcess读写Access数据库文件,Jackcess不支持读取ODBC链接表。

如果您确实需要在 Access 中读取/写入 ODBC 链接表(而不是简单地直接连接到 SQL Server),那么您可能必须在 C# 中构建您的应用程序并使用 System.Data.Odbc

【讨论】:

以上是关于使用 ucanaccess 控制台出现错误:UCAExc:::3.0.2 用户缺少权限或找不到对象:DBO_TBLMATERIALS的主要内容,如果未能解决你的问题,请参考以下文章

使用 UCanAccess / jackcess 作为 JDBC 到 MS Acess 数据库时出现 IncompatibleClassChangeError

Spring Boot / Data 通过 jdbc UCanAccess 连接到 MS Access

Android Studio 中的 UCanAccess 出现“给定文件不存在”错误

当别名包含某些字符时,UCanAccess 出现“意外令牌”错误

UCanAccess 出现 ClassNotFoundException 和 NoClassDefFound 错误

UCanAccess 中的“语句意外结束”错误