Delphi 在IIS中托管RAD服务器。找不到EMS许可证
我已经创建了一个32位RAD服务器应用程序,我想将其托管在本地IIS服务器中。我遵循了中提到的步骤,但当我尝试调用Web服务时,会出现以下错误: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
{"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操作系统上,数据库的默认设置为:
。在Linux上,默认设置为:C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib
/usr/lib/ems/emsserver.ib
- 用户名和密码表示连接到跨数据库供电的RAD服务器数据库的RAD服务器实例的凭据(默认情况下,分别为:
和sysdba
)masterkey
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).