1

我已经开始将我的 Firemonkey 应用程序移植到 OSX 中。我使用了 DBExpress 驱动程序 DevArt。我阅读这篇文章是为了将 Firebird 从服务器转换为嵌入式。

但是当我的应用程序启动时,它会引发一个异常:

无法附加到密码数据库

该数据库是从我的 Windows 安装中复制的,而不是在 OS X 上创建的。我认为这不是问题,但它在于从服务器到嵌入式的转换,因为文档是针对旧 Firebird 版本的。

你有什么想法可以解决我的问题吗?

4

3 回答 3

1

首先在win os上备份db并在osx上恢复。不同的物理存储格式。

此外,即使在嵌入式版本上,在 mac osx 上,如果您指定用户名/密码,Firebird 也会使用 security2.fdb(具有写入权限)。没有用户/通行证,它应该在没有 security2 数据库的情况下工作。

于 2012-06-23T16:36:58.510 回答
0

用这个

  1. 第 1 步(制作 security.fdb 的副本):

/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:由于错误而在完成之前退出

  • 第 2 步(恢复数据库):

/opt/firebird/bin/gbak -rep -user SYSDBA -password masterkey /opt/firebird/security.fbk /opt/firebird/security.fdb

  • STEP 3(数据库转换):

/opt/firebird/bin/isql -user SYSDBA -password masterkey -i /opt/firebird/upgrade/security_database.sql /opt/firebird/security.fdb

  • 第 4步(停止火鸟):

服务火鸟停止:

  • 第 5步(覆盖旧的安全 fdb):

cp security.fdb security2.fdb

作者:Marcin Rybak

于 2013-01-17T15:11:31.880 回答
0

Cannot attach to password database意味着firebird找不到用户数据库。在 Firebird 2.0 及更高版本上,它是一个名为security.fdbor的文件。security2.fdb此文件应位于firebird您链接的 IBPhoenix 文章中所述的文件夹中。

于 2012-06-23T23:27:04.657 回答