在DSpace中恢复完整站点AIP备份时抛出异常

问题描述:

我试图将完整的DSpace安装(4.x)迁移到新的6.1。我在执行在DSpace中恢复完整站点AIP备份时抛出异常

[dspace]/bin/dspace packager -d -a -t AIP -e [email protected] -i OURHANDLE/0 sitewide-aip.zip 

导出整个网站,没有任何特别的问题。输出包含很多.zip文件,包括sitewide-aip.zip

问题是当试图在新的DSpace安装中恢复时。执行

[dspace]/bin/dspace packager -r -a -f -t AIP -e [email protected] -i OURHANDLE/0 -o skipIfParentMissing=true /path/to/sitewide-aip.zip 

后抛出一个异常

Exception: Bad identifier/handle -- Cannot resolve handle "OURHANDLE/0" 
java.lang.IllegalArgumentException: Bad identifier/handle -- Cannot resolve handle "OURHANDLE/0" 
at org.dspace.app.packager.Packager.main(Packager.java:342) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229) 
at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81) 

想不通为什么发生这种情况,因为HANDLE/0 suppossed按我”来指整个安装基座手柄迄今为止已经研究过。

你的句柄前缀是什么?它可以在你的dspace.cfg文件中找到。

https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace/config/dspace.cfg#L249

您应该使用值的命令。

你也应该使用下面的查询

select * from handle where handle like '%/0'; 
+0

查询不输出任何内容。但表格句柄不是空的,它显示了OURHANDLE/x样式中的很多句柄,但没有OURHANDLE/0。 在这两种安装中,句柄前缀都是OURHANDLE。 –

+0

如果不返回任何内容,请查看您的dspace.cfg中的值 – terrywb

+0

再次检查。在目标安装中,它以某种方式为12345679/0,即使它已在dspace.cfg中配置为OURHANDLE –

的问题结束了在目标安装手柄值能够找到它在你的数据库中。执行后

dspace/bin/dspace update-handle-prefix 123456789 OURHANDLE 

到目标安装,恢复过程可以完美无瑕地完成。

感谢大家的帮助。