我已经开始将我的Firemonkey应用程序移植到OSX中。我使用了DBExpress驱动程序DevArt。我阅读this post以便将Firebird从服务器转换为嵌入式。
但是当我的应用程序启动时,它会引发异常:
无法附加到密码数据库
数据库是从我的Windows安装中复制而不是在OS X上创建的。我不认为这是问题,但它在于从服务器到嵌入式的转换,因为该文档适用于旧的Firebird版本。
你有什么想法来解决我的问题吗?
答案 0 :(得分:1)
在win os上首先备份db并在osx上恢复它。不同的物理存储格式。
此外,即使在嵌入式版本上,在mac osx上,如果您指定用户名/密码,Firebird也会使用security2.fdb(具有写入权限)。 没有user / pass,它应该在没有security2数据库的情况下工作。
答案 1 :(得分:0)
Cannot attach to password database
表示firebird无法找到用户数据库。它是Firebird 2.0及更高版本上名为security.fdb
或security2.fdb
的文件。此文件应位于您链接的IBPhoenix文章中所述的firebird
文件夹中。
答案 2 :(得分:0)
使用此
/ opt / firebird / bin / gbak -user SYSDBA -password masterkey /opt/firebird/security.fdb /opt/firebird/security.fbk
如果您收到以下错误,则必须将security.fdb chown给firebird用户!
gbak:错误:文件“/opt/firebird/security.fdb”gbak的I / O错误: 错误:尝试打开文件gbak时出错:错误:权限 否认gbak:由于错误而在完成之前退出
/ opt / firebird / bin / gbak -rep -user SYSDBA -password masterkey /opt/firebird/security.fbk /opt/firebird/security.fdb
/ opt / firebird / bin / isql -user SYSDBA -password masterkey -i /opt/firebird/upgrade/security_database.sql /opt/firebird/security.fdb
服务火鸟停止:
cp security.fdb security2.fdb