简体   繁体   English

如何在同一台机器上部署两个或多个使用 Firebird Embedded 数据库的应用程序?

[英]How do you deploy two or more applications that use Firebird Embedded databases on the same machine?

Suppose I have three separate applications called MyPasswordManager , MyToolManager and MyMovieManager .假设我有三个独立的应用程序,分别称为MyPasswordManagerMyToolManagerMyMovieManager Each of these applications uses a Firebird Embedded database.这些应用程序中的每一个都使用Firebird Embedded数据库。

If a customer buys all three of my aplications and installs them on his/her computer.如果客户购买了我的所有三个应用程序并将它们安装在他/她的计算机上。 And my customer has all three applications running at the same time, what happens?我的客户同时运行了所有三个应用程序,会发生什么?

Will the Firebird dll's have conflicts? Firebird dll 会有冲突吗? What do you do in this situation?在这种情况下你会怎么做?

If you put the Firebird dll's in the application folder (where the.exe is) there won't be a problem since this is the first place where your application will look for them.如果您将 Firebird dll 放在应用程序文件夹(.exe 所在的位置)中,则不会有问题,因为这是您的应用程序首先要查找它们的地方。

You have to make sure that the applications each install to their own folder, if you want to use different versions of the dll's.如果您想使用不同版本的 dll,您必须确保每个应用程序都安装到它们自己的文件夹中。

Cape, you really ought to read the "readme_embedded.txt" file in the doc directory - it has all the answers youre looking for. Cape,你真的应该阅读 doc 目录中的“readme_embedded.txt”文件——它有你要找的所有答案。 Some relevant quotes (for the FB 2.5 version):一些相关报价(针对 FB 2.5 版本):

2.2. 2.2. Database access数据库访问

The database file can be accessed by multiple client programs.数据库文件可以被多个客户端程序访问。 The database consistency in this case is guaranteed internally (by the shared lock table).这种情况下的数据库一致性在内部得到保证(通过共享锁表)。

2.4. 2.4. Compatibility兼容性

You may run any number of applications with the embedded server without any conflicts.您可以使用嵌入式服务器运行任意数量的应用程序而不会产生任何冲突。 Having IB/FB server running is not a problem either.运行 IB/FB 服务器也不是问题。

have you tested it in your dev machine?你在你的开发机器上测试过吗? I think just putting the apps and the dlls in different folders each one could work.我认为只需将应用程序和 dll 放在不同的文件夹中,每个都可以工作。 Maybe renaming the dlls with different names can work too也许用不同的名称重命名 dll 也可以

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM