我对数据库编程比较陌生。我使用带有 IBPP 的 firebird 2.5。我至少有两个使用 sampe firebird 数据库的应用程序。我想连接嵌入式变体(fbembedded.dll、icudt30.dll、icuc30.dll),因为它将是客户 PC 上的主机应用程序。我编写了一个从数据库读取数据的简单测试应用程序,并同时启动了该应用程序 3 次。一切正常。
但是现在我不确定这是否始终有效,并且是否稳定且不会损坏数据。因为当我使用查看器 ibexpert 与数据库建立连接时,我的测试应用程序无法连接到数据库。此外,文档 sais ( firebirdEmbedded ):
您可以同时运行多个嵌入式服务器,并且可以让多个应用程序连接到同一个嵌入式服务器。拥有一台已经运行的常规服务器也不是问题。 但是,嵌入式服务器会在成功连接后锁定数据库文件以供其独占使用。这意味着您不能同时从多个嵌入式服务器进程(或任何其他服务器,一旦嵌入式服务器锁定文件)访问同一个数据库。
文档编制正确吗?我的示例应用程序似乎相反。不久前,我在我的电脑上安装了一个 firebird 超级服务器,但在测试之前将其卸载。