创建导入包
要创建导入包:
1. 为要导入数据的每个数据形状生成 ASCII CSV 文本文件。在编辑这些文件时,请确保它们已打开并另存为文本文件。完成该操作最简单的方式是使用文本编辑器。如果使用 Microsoft Excel,那么请不要打开文件,也不要将其另存为 Excel 文档,因为这会导致数据损坏并使文件无法导入。
有关详细信息,请参阅 格式化 CSV 文件
2. 在名为 Binaires 的目录中,收集 CSV 文件所引用的所有二进制文件。根据需要使用子文件夹分隔具有相同文件名的多个文件。有关详细信息,请参阅 二进制内容
3. 创建一个 ZIP 文件,其顶层包含了 CSV 文件和 Binaries 目录。下图显示了一个导入包结构示例:
格式化 CSV 文件
每个 CSV 文件均以 Operator Advisor 数据模型命名且代表其中的一个数据形状。例如,对于 PTC.SCA.SCO.WorkDefinition 数据形状,CSV 文件被命名为 PTC.SCA.SCO.WorkDefinition.csv
每个 CSV 的第一行均列出了相应数据形状的字段名称。每个后续行均代表该数据形状的一个实例,并在导入时作为行添加至相应数据库表格中。行中每个条目的内容必须与数据形状字段的数据类型保持一致。如果某一字段值为空,则以逗号间无数据表示。
以下是 PTC.SCA.SCO.WorkDefinition.csv 文件的一个示例:
UID,ID,Description,WorkType,Duration,SiteUID,DurationUnitOfMeasure,Name,LongDescription,ExecutionStatus,Version,SequenceNumber,ExecutionNotes
CREATE:1,1000001,PP Description,,,,,PP Name,PP Long Description,,A.1 (Design),0,
CREATE:2,1000002,OP10 Description,,,,,OP10 Name,OP10 Long Description,,A.2 (Design),10,
CREATE:3,1000003,OP20 Description,,,,,OP20 Name,OP20 Long Description,,A.3 (Design),20,
CREATE:4,1000004,OP1010 Description,,,,,OP1010 Name,OP1010 Long Description,,A.4 (Design),10,
CREATE:5,1000005,OP1020 Description,,,BUNDLE:1,,OP1020 Name,OP1020 Long Description,,A.5 (Design),20,
某些字段必须以特定方式指定:
UID
UID 的值必须以下列格式指定:CREATE:<#>,例如 CREATE:1。前缀表示要对 CSV 文件中的此行所执行的操作。在本例中,CREATE: 表示欲在相应数据库表中创建一个行。CSV 文件中的编号必须具有唯一性。在添加新的数据库行时,实际的 UID 值将由 ThingWorx 自动生成。
外部参考
外部参考本质上是一个个字段,这些字段参考了 Operator Advisor 中已有数据库行的 UID。例如,若 CSV 中某个工作定义的 SiteUID 字段参考了 Operator Advisor 中的已有站点,则请指定该现有站点的 UID。
内部参考
内部参考本质上是一个个字段,这些字段参考了包中另一个 CSV 文件内某一条目的 UID。必须将这些值指定为 BUNDLE:<#>。# 必须与其 CSV 文件中该条目 UID 字段内的 # 相匹配。
例如,若 PTC.SCA.SCO.WorkDefinition.csv 文件中某工作定义的 SiteUID 字段正在参考 PTC.SCA.SCO.Site.csv 文件中将 UID 值指定为 CREATE:7 的条目,则 SiteUID 值将被指定为 BUNDLE:7
URL
对于 URL 字段,例如工作定义插图的 IllustrationURL 或工作定义相关文档的 DocumentURL,值必须是 Web URL(例如 http://abc.com/file.html)或资源包 Binaries 目录中的二进制对象的路径。值不得为空。Binaries 目录中相对于导入包基本文件夹的文件路径包含 file:// 前缀。例如 file://Binaries/Safety.docfile://Binaries/subdir1/Safety.doc。文件路径所参考的任何二进制对象都必须包含在导入包中。
二进制内容
任何参考自 CSV 文件的二进制内容都必须包含在 Binaries 目录中。如果存在多个具有相同名称的二进制文件,那么请使用子文件夹将它们分开。例如,如果有多个 Safety.doc 文件且每个文件都具有唯一的内容,那么请针对每个文件使用单独的子文件夹。在导入包中,每个二进制文件只能参考一次。
二进制文件是指任何具有 PNG、DOC、PDF 等扩展名的关联文件。这些文件存储在文件信息库中,而非数据库中,并由 URL 从实体中参考,例如工作定义相关文档 (PTC.SCA.SCO.WorkDefinitionRelatedDocument)。有关可能的二进制内容类型,请参阅为 PTC.SCA.SCO.WorkDefinitionRelatedDocumentType 属性列出的文件类型。