我已经开始将我的 Firemonkey 应用程序移植到 OSX 中。我使用了 DBExpress 驱动程序 DevArt。我阅读这篇文章是为了将 Firebird 从服务器转换为嵌入式。
但是当我的应用程序启动时,它会引发一个异常:
无法附加到密码数据库
该数据库是从我的 Windows 安装中复制的,而不是在 OS X 上创建的。我认为这不是问题,但它在于从服务器到嵌入式的转换,因为文档是针对旧 Firebird 版本的。
你有什么想法可以解决我的问题吗?
我已经开始将我的 Firemonkey 应用程序移植到 OSX 中。我使用了 DBExpress 驱动程序 DevArt。我阅读这篇文章是为了将 Firebird 从服务器转换为嵌入式。
但是当我的应用程序启动时,它会引发一个异常:
无法附加到密码数据库
该数据库是从我的 Windows 安装中复制的,而不是在 OS X 上创建的。我认为这不是问题,但它在于从服务器到嵌入式的转换,因为文档是针对旧 Firebird 版本的。
你有什么想法可以解决我的问题吗?
首先在win os上备份db并在osx上恢复。不同的物理存储格式。
此外,即使在嵌入式版本上,在 mac osx 上,如果您指定用户名/密码,Firebird 也会使用 security2.fdb(具有写入权限)。没有用户/通行证,它应该在没有 security2 数据库的情况下工作。
用这个
/opt/firebird/bin/gbak -user SYSDBA -password masterkey /opt/firebird/security.fdb /opt/firebird/security.fbk
如果您收到以下错误,您必须将 security.fdb 更改为 firebird 用户!
gbak:错误:文件“/opt/firebird/security.fdb”的 I/O 错误 gbak:错误:尝试打开文件 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
Cannot attach to password database
意味着firebird找不到用户数据库。在 Firebird 2.0 及更高版本上,它是一个名为security.fdb
or的文件。security2.fdb
此文件应位于firebird
您链接的 IBPhoenix 文章中所述的文件夹中。