【问题标题】:Kentico Import Toolkit 8.1Kentico 导入工具包 8.1
【发布时间】:2015-02-16 22:11:43
【问题描述】:
我目前正在使用 Kentico 导入工具包在树中创建文档。
至此,我已经使用该工具包导入了大约 100 个文档,它们都位于树中的正确位置。现在我遇到的问题/担忧是,当我导入这些文档时,我的电子表格已经更新,因此添加了额外的字段和数据,那么我该如何将这些额外的数据导入到当前存在的文档中?另外请记住,我不希望其他字段或数据受此影响,因为内容编辑器使用 CMS Desk 使用其他内容更新了一些文档,而电子表格中没有这些内容。
【问题讨论】:
标签:
import
document
kentico
【解决方案1】:
导入工具包不是完成此任务的正确工具。即使您选择“导入新页面并覆盖现有页面”,它也会覆盖您的大部分列。实际上,它只保留现有文档中的 system 和 id 列 - 所有其他列都会被覆盖。
您可以编写一段自定义代码,也可以尝试以下操作:
- 打开 SSMS 并导航到您的页面类型的耦合表(类似于 CONTENT_MyDocType)。这是存储您的自定义列的位置。
- 右键 -> 编辑前 200 行
- 点击“显示 SQL 窗格”
- 调整列,
ORDER BY 和 WHERE 子句以匹配您的 excel 文件,重新运行查询
- 在您的 Excel 文件中选择所需的行并将它们复制到剪贴板
- 将数据粘贴到 SSMS 中
【解决方案2】:
rocky 是对的,Import Toolkit 是为了导入完整的对象,而不是部分/持续更新。
您可以将电子表格中您知道未更改的字段映射到从目标数据库中选择值的 SQL 查询。
要实现这一点,只需在您要将字段映射到的 SQL 选择语句的开头插入 #<target>。
虽然这会相当费力,而且还需要对电子表格更改的性质有一定的了解。