此问题通常表明许可证文件是从网络许可证管理器提供的,并且运行许可证管理器的机器上的许可证.dat文件有问题。导致此错误的原因可能是以下原因之一:
- 生成license.dat文件的主机ID不是license服务器机器的主机ID
- dat文件本身缺少、损坏或不正确的字符
- 系统时间和日期未正确设置。检查以确保在下面进行之前在机器上正确设置日期和时间。
如果您使用MATLAB R2007b或以下的R2008a或更高版本生成的独立许可证文件,也可能发生此问题。在这种情况下,为MATLAB的正确版本生成一个许可文件将解决这个问题。
如果时间和日期设置正确,并且您没有使用R2007b或以下版本和R2008a或更高版本的独立license文件,请参见下面的步骤排除license文件故障:
第一步是找到许可证管理器的许可证文件(license.dat)。服务器机器上的license.dat文件位于:
请查看以下内容:
1)确保license文件中指定的Host ID与license文件“SERVER”行的Host ID匹配。此外,如果主机ID不是由“ID=”进行,那么它必须与许可证服务器的主机ID匹配。有关获取主机ID的更多信息,请参阅下面列出的相关解决方案。
license文件的Host ID将在license文件的注释行中。例如:
#开始——切,切在这里开始
#MATLAB许可密码文件。
#LicenseNo: 123456 HostID: 001122334455
在该示例中,主机ID是MAC地址001122334455.此相同的MAC地址应该在许可证文件的服务器行中。例如:
服务器my-license-host 001122334455 27000
如果在SERVER行中使用了错误的主机ID,或者为不同的主机ID生成了许可文件,则会发生此错误。单个license使用一个Host ID,即ID=和license编号。如果您有一个单独的许可证,这应该是SERVER行中的Host ID。例如:
服务器我的许可证 - 主机ID = 123465 27000
注意:更改许可文件注释部分中列出的主机ID不会解决这个错误。如果您的主机ID不正确,您将需要为正确的主机ID获取新的license文件。
2)这个错误可能是由于在您的许可证文件中有额外的回车。为了避免这种情况,请确保以下字符串都以左对齐行开始:#、SERVER、DAEMON或INCREMENT。有时,增量行会在前面的增量行结束时换行,导致它被省略。
3)如果您位于土耳其,或者计算机的默认语言是土耳其语,请参阅以下文章:
为什么当我的语言环境设置为土耳其时,我会在Linux上启动MATLAB时,我会看到许可证管理器错误-8?