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