利用dp2batch备份书目库的一点说明
dp2图书馆集成系统的用户,目前在需要备份数据库的时候,可以有两大类方法:第一类方法是将整个系统停下,并且也要把SQL Server停下,然后将SQL数据库文件整个复制下来备份。第二类方法,就是利用dp2batch程序,将所关注的全部数据库内的数据记录导出,备份。
在采用dp2batch程序进行备份的时候,许多系统管理员可能已经知道了,因为实体库、订购库、期库、读者库等都不是MARC格式,而是纯XML格式,所以会选择dp2batch程序提供的.xml格式和.dp2bak格式。这是正确的。不过需要提醒一下,如果数据记录中带有对象资源,就不能用.xml格式而要用.dp2bak格式了。
而对于MARC格式的书目库,许多系统管理员以为备份可以采用ISO2709格式进行。而这个想法是不对的。dp2系统对书目库的备份是不能采用ISO2709格式的。
原因如下:
ISO2709格式中,各种字段都有其应有的含义,不过很遗憾并没有一个字段能保存MARC记录在数据库中的原始位置。dt1000系统为这个用途,扩充了一个-01字段,但因为这个“-01”字段名太特殊,带有-01字段的ISO2709文件在转入到其他图书馆系统的时候常造成问题,所以一直以来,我也在思考这个问题,觉得最好取消这个字段。
dp2系统为了兼容dt1000,例如要输出ISO2709文件用于输入到dt1000系统中,目前是可以在输出记录中创建-01字段的。但,既然是dt1000扩充的-01字段,那dp2系统在输出创建-01字段的时候,就要遵守dt1000系统的作法。这个做法有一个问题,就是-01字段内没有地方能够存储dp2系统所需要的应用服务器WebService URL字符串。
由于dp2系统已经有很好的.xml格式和.dp2bak格式了,所以我决定dp2系统不再在输出的ISO2709格式记录中去产生什么专有的存储记录路径的字段。而能够创建-01字段,上面刚刚说了,仅仅是为了让dt1000系统能使用dp2系统导出的ISO2709文件以覆盖方式转入,而不是为了让dp2系统能够以覆盖的方式转入。
再强调一下,就是dp2系统转出的ISO2709文件,无论其中是否包含-01字段,都不能在转入dp2系统的时候,采用覆盖转入的方式,而只能采用追加转入的方式。也就是说,记录中的-01字段,转入的时候dp2batch程序并不认,就当没有看见一样。
这里推导出一个结论,就是用dp2batch备份书目库数据的时候,根本就不能用ISO2709格式。如果用了,结果就是可怕的:丢失了位置信息。
那么要用什么格式来进行书目库的备份呢?答案是,用.xml和.dp2bak格式。
在这两个格式中,区别是如果记录中有对象资源,就要用.dp2bak格式。
为了避免系统管理员在备份操作的时候忘记了上述规定,目前新版的dp2batch在转出ISO2709格式数据的时候,当操作者选择了创建-01字段时,软件会出现以下提示信息:
您选择了在导出的ISO2709记录中加入-01字段。请注意dp2Batch在将来导入这样的ISO2709文件的时候,记录中-01字段***起不到***覆盖定位的作用。“加入-01字段”功能是为了将导出的ISO2709文件应用到dt1000系统而设计的。如果您这样做的目的是为了对dp2系统书目库中的数据进行备份,请改用.xml格式或.dp2bak格式。