NI-XNET Database Editor无法加载DBC或LDF格式的数据库文件

更新 Sep 7, 2021

适用于

驱动

  • NI-XNET

问题详述

我可以在NI-XNET Database Editor中加载一些DBC或LDF数据库。但是,当我尝试加载特定的DBC或LDF数据库文件时,出现以下错误。

The database specified could not be loaded. Either it does not exist, or it is not a valid XNET database.
指定的数据库无法加载。它不存在,或者它不是有效的XNET数据库。
DBC error.jpg

为什么某些数据库无法在NI-XNET Database Editor中加载?
我该如何解决这个问题?

解决方案

NI-XNET Database Editor无法解析数据库文件有多种原因。请按照以下步骤解决此问题。

设置兼容格式(仅适用于DBC)

由于DBC文件格式是Vector自己的格式,而不是国际标准FIBEX,因此可能是兼容性问题。您需要将其转换为兼容的DBC格式,以防止出现兼容性问题。要导出兼容的DBC文件,您需要Vector CANdb++,这是一个免费的汽车数据库编辑器。

您可以像下面那样导出兼容的DBC:
  1. 在Vector网站上下载CANdb++
  2. 在要转换的CANdb++上打开数据库。
  3. 选择File » Export » Into CANdb Network Files...
candb1.jpg
  1. 选中Use compatible DBC format 项,然后选择OK导出DBC文件。
candb2.jpg
  1. 在NI-XNET Database Editor中打开转换后的DBC文件。
 

确认文本编码(用于LDF,DBC)

DBC未指定文本编码。 NI-XNET当前假设该文件位于操作系统的默认语言环境中,这会导致在导入具有备用代码页的系统上生成文件时出问题。要解决此问题,请按照以下步骤操作:

  • 删除数据库中的非英文字符。
  • 恢复为NI-XNET 19.1或更早的版本。
  • 将操作系统语言设置为英语,然后加载.ldf文件。如果需要使用本地化的LabVIEW,则将语言设置恢复为本地语言。
  • 通过将文件转换为UTF-8并使用记事本再次返回,该编码似乎是固定的,并且文件可以按预期导入。 以下操作必须在使用数据库的语言代码页的系统上执行。
    1. 在记事本中打开文件。您将在屏幕的右下方看到当前的编码为ANSI。
      Encoding01
    2. 另存为,并将文本编码更改为UTF-8。
      Encoding02
    3. 另存为,并将文本编码更改回ANSI。
      Encoding03
    4. 在XNET Database Editor中打开文件。