返回列表 发帖

[KB225924150078738功能解说] 报错:“无数据库连接”(启动X3 V7或更高版本时)

* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。


报错:“无数据库连接”(启动X3 V7或更高版本时)



创建日期:2021-07-05
最后修改日期:2021-07-05


描述


查看MongoDB是否正在监听默认端口27017(或者执行X3安装的人员设置的任何端口号)的步骤:


1.        以管理员权限打开一个命令提示符
2.        输入:md c:\DeleteMePlease   
3.        然后按下回车键。(这个操作会在C:\驱动器的根目录下创建一个名为"DeleteMePlease"的文件夹)
4.        输入:netstat -abont > c:\DeleteMePlease\netstat.txt
5.        然后按下回车键。(这会重定向netstat命令,将其值输出到一个文本文件中)
6.        用文本编辑器打开netstat.txt文件,然后使用Ctrl + F搜索mongod27017。  结果应该如下图所示。  截图中显示,mongod.exe进程(Mongo后台程序)正在监听端口27017,相关信息会紧邻显示在端口号上方。  如果您在这个端口号下方看到显示了另一个进程,则意味着该进程先于MongoDB启动,并独占了端口,从而阻止了MongoDB使用同一个端口。  结果就是MongoDB服务无法启动,并且Syracuse无法访问所需数据。

    o        在这种情况下,将冲突的服务设置为延迟启动可能有所帮助。  无论哪种情况,请联系服务的软件供应商寻求帮助。
  



原因


在最基本的层面上,该报错意味着Syracuse无法从MongoDB读取数据(即使这两个服务都已启动)。


可能的原因:


•        Sage Syracuse - NODEx服务未运行。  这可能是由于Sage Syracuse服务本身的问题,或者更可能是由于MongoDB服务未能启动。  Syracuse的正常运行依赖于MongoDB。  如果MongoDB未能启动,可能是因为有其他程序正在使用相同的端口(默认端口27017),或者有其他因素(例如Windows Update或Microsoft Security Essentials)阻止了MongoDB的启动。
•        Sage Syracuse - NODExMongoDB服务正在运行,甚至正在监听正确的端口(即分别为8124和27017),但Syracuse服务仍然无法从MongoDB数据库读取数据。  这些MongoDB数据是成功显示(并登录)X3登录界面和系统所必需的。
•        服务器上安装MongoDB的硬盘空间已耗尽。


解决方法


1.        首先,尝试停止Syracuse服务。
2.        如果它已经停止,请在任务管理器中确认node.exe是否未运行。  如果Syracuse无法停止或无法及时停止,或者如果存在node.exe进程,请结束所有node.exe实例的进程。
3.        确认MongoDB服务正在运行。  它会在任务管理器中显示为mongod.exe。  如有需要,请检查Windows服务。
4.        即使MongoDB服务正在运行,也请停止并再次启动MongoDB服务。
   o        在Windows服务界面中,大约每5秒按一次F5键,以确认MongoDB服务是否确实保持启动状态。  之后至少等待30秒刷新屏幕,以确认服务仍然处于启动状态。
5.        如果成功,在MongoDB重新启动之后,启动(或重新启动)Sage Syracuse - NODEx服务。
   o        按F5键确认Syracuse服务是否也保持启动状态。  如果它保持启动,确认您现在是否可以登录X3。
6.        如果Syracuse服务未能启动,请再次确认MongoDB服务正在运行。如果Syracuse或MongoDB日志对您的故障排除没有帮助,请联系支持人员。  这些日志通常位于Syracuse/MongoDB文件夹中。
7.        如果您现在可以登录X3,可以采取以下进一步措施来防止此问题将来再次发生:
    A.        将Agent Sage Syracuse服务设置为自动(延迟启动)(而不是"Sage Syracuse - NODEx"服务——因为"Sage Syracuse - NODEx"服务是一个手动服务,这意味着它无法自行启动,而是由Agent Sage Syracuse服务实际启动的)。  通过双击Agent Sage Syracuse服务,打开属性窗口来完成此操作。
    B.        确认您是否可以登录X3。
        • 如果您想进行额外的故障排除,以确认服务器重启后此功能仍能正常运行:
           a)        测试一下,重启托管这些服务的服务器。
           b)        确认两个服务都保持启动状态。  服务器重启到Windows桌面后,这些服务可能需要一到两分钟才能启动。
           c)        确认您是否可以登录X3。


注意:  如果MongoDB服务或Sage Syracuse服务在重启并设置延迟启动后仍未能保持启动,一个已知的阻止MongoDB启动的原因是Microsoft Security Essentials。  您可以为Mongo进程设置一个排除项(进入MongoDB服务的属性窗口以找到确切路径),或者卸载Microsoft Security Essentials并重启。


注意2:确保您的存储设备上有足够的可用空间,至少应大于Mongo数据库的大小。
附件: 您需要登录才可以下载或查看附件。没有帐号?申请用户

返回列表