2

我的任务是从 Btrieve (Pervasive) 数据库中导出一堆表,但其中一个表正在打架。我正在使用 Pervasice 控制中心,但是当我运行时,SELECT * FROM <troublesome table>我收到了这个错误:

ODBC Error: SQLSTATE = S1000, Native error code = 0
Unable to open table: <troublesome table>.
The owner namme is invalid(Btrieve Error 51)

我用谷歌搜索了这个,发现 DDF 文件可能有一个“所有者”,但如果我理解正确,所有表都在该文件中。但是只有一个表导致了这个错误,所以我不知道发生了什么。

有人可以提供一些帮助。

4

1 回答 1

2

Btrieve 文件和 DDF 上可以有所有者名称。在这种情况下,似乎 Btrieve 文件具有甚至读取文件所需的所有者名称(所有者名称可以允许没有所有者名称的只读访问或无访问权限)。
根据您使用的 PSQL 版本,您可以在执行 SELECT 语句之前发出 SET OWNER= 命令。有关 SET OWNER 的完整文档,请查看http://docs.pervasive.com/products/database/psqlv11/wwhelp/wwhimpl/js/html/wwhelp.htm#href=sqlref/syntaxref.3.76.html。至于确定所有者名称,您必须询问程序的开发人员。没有默认所有者名称,也没有主所有者名称。

于 2010-12-20T14:17:04.357 回答