Delphi 在IIS中托管RAD服务器。找不到EMS许可证

Delphi 在IIS中托管RAD服务器。找不到EMS许可证,delphi,interbase,rad-studio,Delphi,Interbase,Rad Studio,我已经创建了一个32位RAD服务器应用程序,我想将其托管在本地IIS服务器中。我遵循了中提到的步骤,但当我尝试调用Web服务时,会出现以下错误: {"error":"Forbidden","description":"EMS license not found. To resolve this issue, install an instance of Interbase with an EMS license and configure emsserver.ini to connect to

我已经创建了一个32位RAD服务器应用程序,我想将其托管在本地IIS服务器中。我遵循了中提到的步骤,但当我尝试调用Web服务时,会出现以下错误:

{"error":"Forbidden","description":"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."}
这里可能出了什么问题

是否还需要安装另一个interbase实例?我已经安装了interbase以及RAD Studio 10.2设置。错误消息还建议配置emsserver.ini。它需要什么配置更改

我的开发环境是:RAD Studio 10.2 Enterprise on Win 10 64位机器。InterbaseManager是64位的。IBConsole显示Interbase 2017版本13.0.0.195

有人能帮我解决这个问题吗? 提前感谢。

如前所述,对于RAD服务器生产环境,您不能使用RAD Studio IDE的许可证,也不能使用“普通”InterBase许可证。相反,为了能够在IIS或Apache上的生产环境中运行RAD Server,您必须在InterBase中安装RAD Server部署许可证。请直接联系Embarcadero(或通过您当地的Embarcadero销售代表)申请您的RAD服务器部署许可证-从10.2东京版开始,RAD Studio Enterprise或Architect许可证持有人现在不收取额外费用

程序上,根据您的托管环境,您将通过its或Linux上的命令行向InterBase添加RAD Server部署许可证:
/opt/InterBase/bin/LicenseManagerLauncher-i控制台
。这假定您以前已集中安装InterBase,以用于身份和访问管理(IAM)目的,并通过端点()记录资源数据分析

最重要的是,根据您的问题,您必须通过其关联的配置文件(EMSSERVER.INI)配置每个RAD服务器实例,以查看InterBase中托管的中央/通用IAM+数据分析数据库(也称为“RAD服务器数据库”)

默认情况下,RAD服务器数据库在InterBase文件“emsserver.ib”中定义,该文件用于持久化所有连接的RAD服务器实例的设备、用户、组和数据分析。反过来,每个RAD服务器实例所需的连接参数存储在关联的EMSSERVER.INI配置文件的[Data]部分中,详细说明如下:

如上所示,EMSSERVER.INI中的[Data]部分定义了与中央RAD服务器数据库(由InterBase提供电源)的连接参数。启动所需的连接参数包括:

  • InstanceName:承载RAD服务器数据库的InterBase实例的
    /

    注意:通过此InstanceName设置,多个RAD服务器实例(即,在单独的机器或docker容器上进行的多个物理安装)都可以使用相同的远程RAD服务器数据库后端(由InterBase提供支持)

  • 数据库:上面提到的由InterBase供电的InstanceName提供服务的数据库文件(或其别名)。在Windows操作系统上,数据库的默认设置为:
    C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib
    。在Linux上,默认设置为:
    /usr/lib/ems/emsserver.ib

  • 用户名密码表示连接到跨数据库供电的RAD服务器数据库的RAD服务器实例的凭据(默认情况下,分别为:
    sysdba
    masterkey

从这里开始,SEPassword参数用于连接到加密数据库。进一步说,连接池(在没有值的情况下默认启用{=
1
})可以使用Pooled=
1
|
0
显式设置。接下来,从该RAD服务器实例到中央/公共RAD服务器数据库的池连接的最大数量由PooledMax设置确定(否则,默认为
50


最后,有关使用RAD Server开发和部署web应用程序的更多信息,请参阅David I。

您是否拥有由ELC服务器提供并绑定到您的用户名的RAD Studio工作站许可证或网络许可证?它称为命名用户许可证谢谢您的详细回答!那确实有用!非常感谢。
[Data]
InstanceName=192.168.0.127/3050
Database=/etc/ems/emsserver.ib
UserName=sysdba
Password=masterkey
SEPassword=
;# SEPassword connects to an encrypted database
Pooled=
;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable (default is 1).
PooledMax=
;# Set PooledMax=10 to limit maximum pooled connection (default is 50).