You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置emsserver.ini让Rad Server连接远程Interbase并解决许可证问题

RAD Server(EMS)跨服务器连接Interbase许可证问题解答

问题描述

我曾在Stack Overflow上找到问题《Hosting RAD Server in IIS. EMS license not found》,这正是我遇到的错误。尝试该问题下的解决方案后,仍出现许可证未找到的问题。

IP为192.168.2.28的服务器上运行着带许可证的RAD Server和Interbase生产Web应用,运行正常。我们正搭建另一台服务器(用于测试或后续负载均衡),需要连接192.168.2.28上的Interbase数据库。

新服务器上emsserver.ini的Data部分配置如下:

InstanceName:192.168.2.28/gds_db
Database=C:\Users\Public\Documents\Embarcadero\EMS\emsserver1.ib
UserName=TheUerName
Password=ThePassword

通过Postman连接新服务器时,收到错误:

"EMS license not found. To resolve this issue, install an instance of Interbase with an EMS license and configure emsserver.ini to connect to the licensed instance."

我们使用的是Delphi 10.3.1,根据上述Stack Overflow问题的内容,我认为配置是正确的,但仍有以下疑问:

  1. InstanceName的配置是否正确?IP地址无误,gds_db是192.168.2.28上运行的实例名称。
  2. emsserver1.ib文件是否需要存在于新服务器上?它不应只存在于192.168.2.28吗?如果仅需在192.168.2.28上存在,为何新服务器的emsserver.ini中要指定该文件的完整路径?Database属性应如何正确配置?
  3. 是否是emsserver.ini配置错误?是否需要在192.168.2.28上做一些修改才能正常工作?

疑问解答与配置修正

1. InstanceName配置正确性

你的InstanceName格式错误。对于远程Interbase实例,正确的格式应该用冒号分隔主机地址和实例名(默认端口3050可省略),斜杠仅适用于本地实例(如localhost/gds_db)。修正后的配置应为:

InstanceName=192.168.2.28:gds_db

如果远程Interbase使用了非默认端口,需补充端口号,例如:

InstanceName=192.168.2.28:3051:gds_db

2. emsserver1.ib文件位置与Database配置

emsserver1.ib不需要存在于新服务器上,它仅需在192.168.2.28的Interbase服务器本地存储。你当前配置的本地路径是错误的,Database属性需要填写远程服务器上Interbase可识别的数据库路径,有两种方式:

  • 使用网络共享路径:
    Database=\\192.168.2.28\C$\Users\Public\Documents\Embarcadero\EMS\emsserver1.ib
    
    注意:新服务器的RAD Server运行账号需要拥有访问该共享路径的权限。
  • 使用Interbase数据库别名:
    在192.168.2.28的Interbase管理工具中,为emsserver1.ib创建一个别名(如EMS_DB),然后新服务器的配置改为:
    Database=EMS_DB
    
    这种方式更简洁,也避免了权限问题。

3. 其他配置检查与源服务器修改

除了上述两处核心错误,还需排查以下点:

  • 网络与权限:确保新服务器能访问192.168.2.28的Interbase服务端口(默认3050),防火墙已开放该端口;RAD Server运行账号需有远程连接Interbase的权限。
  • 许可证限制:确认192.168.2.28上的EMS许可证支持多服务器连接,部分基础许可证可能限制仅允许本地RAD Server连接。
  • 版本一致性:新服务器的RAD Server/EMS版本(Delphi 10.3.1)必须与192.168.2.28上的版本完全一致,版本不匹配会导致许可证校验失败。
  • 配置冗余:检查emsserver.ini的Data部分是否残留本地Interbase的配置项,确保所有配置都指向192.168.2.28的远程实例。

内容的提问来源于stack exchange,提问作者Ken Davis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:55:11