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