自动导入用户
您现在可以通过更改 globalconfig 表中的一个条目来自动执行 CSV 用户导入过程。此功能有助于定期更新用户存储库。
步骤 1:启用 CSVUserImportSchedule
仅当 globalconfig 表中的 CSVUserImportSchedule 条目被设置为 true 时,才能启用自动用户导入。这允许调度程序连接到数据库服务器并更新详细信息。
运行以下查询,检查 globalconfig 表中 category 为 CSVUserImportSchedule 的条目是否设置为 true 或 false。
select * from globalconfig where category like 'CSVUserImportSchedule';

在 Windows 终端中验证 globalconfig 表条目的示意图
默认情况下,CSVUserImportSchedule 设置为 false。您可以通过执行以下查询来启用调度程序:
update globalconfig set paramvalue=true where category like 'csvuserimportschedule';
您还可以在 ServiceDesk Plus 中通过 报表 >> 新建查询报表 执行以下查询来检查 CSVUserImportSchedule 条目的状态。
select * from globalconfig where category like 'CSVUserImportSchedule';
系统将生成一个报表,其中 CSVUserImportSchedule 条目将显示在 paramvalue 列中。但是,您无法通过应用程序 UI 修改 globalconfig 表。

重新启动应用程序以使配置生效。
步骤 2:映射字段
为确保自动化高效运行,请确保用户数据已更新到 requesters.csv 文件中。您可以在 [SDP-Home] 下找到 requesters.csv 文件。如果您已按如下说明完成文件映射,也可以在提供的其他 CSV 文件中更新用户数据:
- 在 ScheduledCSVUserImportMapping.xml 文件中配置更新用户数据的 CSV 文件名称和路径。ScheduledCSVUserImportMapping.xml 文件位于 [SDP-HOME\conf] 目录下。
- 通过将 AppFieldName 和 CsvFieldName 添加到以下代码中,手动将 CSV 文件中的字段映射到用户字段。
<USERFIELDMAPPING AppFieldName="{SDP-字段名}" CsvFieldName="{CSV-字段名}"/>
请参考以下截图:

请确保 CSV 文件和 ScheduledCSVUserImportMapping.xml 文件中的所有日期字段格式一致。
步骤 3:更新时间导入计划
在 globalconfig 表中启用 CSVUserImportSchedule 条目后,即可安排自动导入。您可以使用以下查询配置导入的开始时间:
update task_input set schedule_time='yyyy-mm-dd hh:mm:ss' where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');
例如,如果您希望将导入计划时间更新为 2040 年 8 月 20 日 18:00:44,则查询语句如下:
update task_input set schedule_time='2040-08-20 18:00:44' where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');
更新导入计划时间后,请重新启动应用程序。
步骤 4:配置导入频率
默认情况下,自动导入每 24 小时计划执行一次。您可以使用以下查询更新导入频率:
update periodic set time_period=6 where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');
在上述查询中,请将 “time_period=6” 中的 “6” 替换为您希望配置的小时数,以此设置自动导入的时间间隔。
您可以使用以下查询查看自动导入的计划时间间隔。
select * from periodic where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');
导入过程将在计划时间自动启动,CSV 文件将被重命名以确认导入过程已完成。导入文件的名称将更新为包含日期和执行时间,以供参考。
示例文件名:
requesters_08_16_2021_18_00.csv
requesters_08_17_2021_18_00.csv
以下是当导入文件在配置位置缺失时的系统日志查看器截图。
