2013-04-04 83 views
5

首先,我不是100%确定我在OSX下使用嵌入式firebird客户端。我从firebirdsql.org下载的安装文件声明它包含Classic,Superclassic & Embedded。与Windows版本不同的是,该包中似乎没有专用的嵌入式库文件。 我假定libfbclient.dylib(我改名为libgds.dylib)可以用作嵌入式。如果我错了,那么我猜这就是问题所在。有人能告诉我在哪里得到嵌入式dylib文件吗?在OSX中创建firebird嵌入式数据库的权限被拒绝错误

如果libfbclient.dylib用于嵌入式使用,那么我的问题仍然存在。当我第一次尝试创建数据库文件时,它以“权限被拒绝”失败。我正尝试在用户文档文件夹中创建此文件。 我在Delphi中使用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'

+0

你确定你没有连接到普通的Firebird服务器吗? – 2013-04-04 08:50:57

+0

正如我所说我不知道​​我使用的库是否作为嵌入式引擎工作,但我无法找到替代(与Windows安装不同)。 – Martin 2013-04-04 20:47:05

回答

2

解决了!几次重读这个文档后,我终于明白了: http://www.ibphoenix.com/resources/documents/how_to/doc_103

在OSX下的嵌入式库与在windows中称为exe相同。 在/Library/Framworks/Firebird.framework文件夹中有一个名为“Firebird”的可执行文件。我不明白的关键文字是“将Firebird文件重命名为libfbembed.dylib”。我的Windows体验让我绊倒了,因为在Windows中你永远不会将.exe重命名为.dll。我不知道它是否可能在Windows中,但我从来没有过它。

我需要做一些更琐碎的事情,这里是完整的说明。

1)链接 “火鸟”{}可执行到/usr/local/lib/libgds.dylib

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

2)链接firebird.msg文件,以便它出现在的/ usr /本地/ 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. 
相关问题