在OSX中创建火鸟嵌入式数据库时出现权限拒绝错误



首先,我不是100%确定我在OSX下使用嵌入式火鸟客户端。我从firebirdsql.org下载的安装文件显示它包含Classic, Superclassic & &;嵌入式。与windows版本不同,软件包中似乎没有专用的嵌入式库文件。我假设libfbclient.dylib(为我的使用而改名为libgds.dylib)可以作为嵌入式使用。如果我错了,那么我想这就是问题所在。有人能告诉我我在哪里得到嵌入的dylib文件?

如果libfbclient

。Dylib也用于嵌入式使用,那么我的问题仍然存在。当我第一次尝试创建数据库文件时,它以"拒绝权限"失败。我正在尝试在用户文档文件夹中创建此文件。我使用的Interbase Express组件在德尔福连接。这让我在windows环境下工作多年。

完整的错误信息是…
Exception class EIBInterBaseError with message 'I/O error during "open O_CREAT" operation for file '/Users/martin/Documents/LightFactoryShows/default.fdb" Error while trying to create file Permission denied'

解决!在反复阅读了这篇文档几次之后,我终于明白了:http://www.ibphoenix.com/resources/documents/how_to/doc_103

OSX下的嵌入式库与windows中的exe相同。在/Library/frameworks/Firebird.framework文件夹中有一个名为"Firebird"的可执行文件。我不理解的关键文本是"将Firebird文件重命名为libbembed .dylib"。我在windows上的经历让我很困惑,因为在windows上,你永远不会把。exe文件重命名为。dll文件。我不知道这在windows上是否可行,但我从来没有听说过。

我还需要做一些琐碎的事情,下面是完整的说明。

1)将"Firebird"{可执行文件}链接到/usr/local/lib/libgds.dylib

ln -s /Library/Frameworks/Firebird.framework/Firebird /usr/local/lib/libgds.dylib

2)连接火鸟。MSG文件,以便它出现在/usr/local/lib文件夹

ln -s /Library/Frameworks/Firebird.framework/Versions/A/Resources/English.lproj/var/firebird.msg /usr/local/lib/firebird.msg

3)复制"security2."将"Fdb"放到/usr/local/lib文件夹中,并将其权限更改为具有写访问权限。创建到该文件的链接不起作用。

cp /Library/Frameworks/Firebird.framework/Versions/A/Resources/English.lproj/var/security2.fdb /usr/local/lib
chmod 777 /usr/local/lib/security2.fdb.

最新更新