Firebird:fbexport无法导出数据

时间:2014-05-27 11:43:29

标签: linux firebird freebsd

我有奇怪的问题。在Windows下创建了数据库。现在在FreeBSD下我试图将数据导出到csv。 Fbexport在Linuxulator(Linux二进制文件)下运行。从isql-fb我可以连接到DB并执行任何操作,如SELECT,但是来自fbexport - 无法。

root@sms# fbexport -Sc -D /home/sms2/DB2.FDB -H 127.0.0.1 -U 'SYSDBA' -P 'masterkey' -F full.txt -A "WIN1251" -B ::: -Q "SELECT * FROM AGENTS;"
Connecting to: '127.0.0.1' as 'SYSDBA'...ERROR!
*** IBPP::SQLException ***
Context: Database::Connect
Message: isc_attach_database failed

SQL Message : -551
This user does not have privilege to perform this operation on this object.

Engine Code    : 335544352
Engine Message :
no permission for read-write access to database /home/sms2/DB2.FDB

我错了什么?

1 个答案:

答案 0 :(得分:2)

fbexport工具使用服务器连接到数据库(在本例中监听localhost)。您正尝试通过localhost上的Firebird服务器实例访问主目录中的数据库。 Firebird服务器在特定用户(例如firebird)下运行,并且该用户没有对数据库/home/sms2/DB2.FDB的读/写访问权。

isql-fb连接时它的工作原理是默认情况下isql使用直接连接到数据库的嵌入式引擎,而不通过在localhost上运行的Firebird服务器实例(如果你连接到{{ 1}}使用isql你会得到相同或类似的错误信息。)

您需要授予localhost:/home/sms2/DB2.FDB 对主文件夹中数据库的读写权限,或将其移至主目录之外的位置(+授予{ {1}}用户或组读/写文件)。