OSX上的Delphi XE2和Firebird Embedded 2.5

时间:2012-06-23 15:37:49

标签: delphi delphi-xe2 firebird firebird2.5

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

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

  

无法附加到密码数据库

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

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

3 个答案:

答案 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.fdbsecurity2.fdb的文件。此文件应位于您链接的IBPhoenix文章中所述的firebird文件夹中。

答案 2 :(得分:0)

使用此

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

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

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

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

    • 第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

    Autor: Marcin Rybak