从dp2内务中导出的数据转移导入到其他服务器中的操作步骤 - DigitalPlatform/dp2 GitHub Wiki

在其他的dp2系统中导出的bdf档可以导入到另外一个dp2系统的服务器中。

操作步骤如下:

  1. 确认所导数据的书目数量和实体数量

  2. 用单机版模拟目标服务器当前环境,试导入数据

  3. 第2步确认无误,在目标服务器上正式导入数据

以下是具体的操作:


1. 确认所导数据的书目数量和实体数量

在本机使用一个空服务器,导入数据,以查看书目数量和实体数量与源数据的是否相同。

如果想利用单机版服务器来操作,先要卸载已有的单机版服务器,并且删除原来的dp2LibraryXE目录,清空原来的数据,然后再从头下载一个单机版服务器,这样新的单机版才是真正的空服务器。

1.1 确认源系统中与数据相关的配置。包含分馆代码,馆藏地,排架体系,脚本函数。

源系统中与数据相关的配置需要记录下来,以便后续试导入和正式导入时可以按照记录修改。

1.2 在本机服务器上按源数据配置相关分馆代码,馆藏地,排架体系,脚本函数。

注意:如果源实例和目标实例都是总分馆形式,所导的数据属于某个分馆。本机配置脚本函数时,需要在目标服务器现有函数的基础上,加上与源服务器中所导数据相关的一段。而不是整个源实例的脚本。

联盟里面原则上不允许直接导入数据,因为考虑到联盟各成员馆之间书目数据共享,导入的数据如果不规范将对整个联盟造成不良影响。但特殊情况下,需要导入时,如果所导入的书目记录是联盟里面已经存在的,要以联盟中现有数据为准来合并册记录。

脚本函数配置完后,重启内务,看看有没有报错,以确认脚本函数是否配置正确。

确认无误后,将脚本拷贝保存下来,以便第2步和第3步可以直接使用。

1.3 在本机服务器的空书目库中导入bdf档。

bdf导入文档

1.4 导入成功后检索实体记录,将数量与源服务器中的数量核对,并且与用户确认。

刚导入的书目记录一时无法在【书目查询窗】查询,因为书目查询窗是根据在 dp2library 中存储的一个结果集和当前结果集交叉运算的结果。这个存储的结果集大概 24 小时左右自动更新一次 和 跨越了一天的边界以后也自动创建。所以新导入的书目数据需要在当天的24点以后才能查询到。

可以先利用【实体查询窗】来检索册记录,然后选中这些记录后,通过【导出】-【装入书目查询窗,将所从属的书目记录】来关联到对应的书目记录,从而统计导入的书目种数。

2. 用单机版模拟目标服务器当前环境,试导入数据

2.1 先将目标服务器进行大备份。

备份文档

2.2 将大备份文件恢复到单机版,并记录下目标服务器相关的配置,包含分馆配置,馆藏地,排架体系,脚本函数。

脚本函数要拷贝保存下来,以便后续直接使用。

从大备份恢复到单机版文档

2.3 按照步骤1.1和1.2的记录,在单机版上将与导入数据相关的配置修改为与源实例一致。

分馆配置,馆藏地,排架体系,脚本函数均修改完毕之后,重启内务,观察是否有报错,确认修改无误。

2.4 在单机版上导入bdf档

导入后,按照步骤1.4的方法进行检索,确定导入数量是否正确。

2.5 确认导入无误之后,将单机版中与所导数据相关的配置修改为与目标实例一致。

需要修改的配置包含:分馆配置,馆藏地,排架体系,脚本函数。脚本函数可以直接拷贝步骤2.2保存的版本。

配置完后,重启内务进入单机版,观察是否报错,以确保修改无误。

2.6 如果所导数据的馆藏地与当前配置不一致,批处理册记录。

批处理完毕,校验册记录。如果发现检验函数和实际条码没有问题而册校验显示条码号异常,需要将client.cs配置文件的内容更新为当前libaray.xml内容。单机版的client.cs路径为单机版服务器菜单【帮助】-【打开用户文件夹】-【library_data】-【cfgs】-【client】-client.cs。

3. 第2步确认无误,在目标服务器上按照步骤2.3-2.6正式导入数据,然后进行册记录校验。