[Koha] bulkmarcimport.pl AND -match= fails when trying to import (bibliographic) records

Nicolas Rucks nrucks at bl.fcen.uba.ar
Fri Mar 23 09:29:45 NZDT 2018


Hello there!
This is my first message to the list, nice to meet you all.
I am a Systems Librarian at FCEN, Universidad de Buenos Aires.

This is the thing:
I am trying to import some bibliographic records into KOHA with BULKMARCIMPORT.PL 

I first imported the records with bulkmarcimport.pl 
perl /usr/share/koha/bin/migration_tools/bulkmarcimport.pl  -biblios  -v  -fk   -all  -commit 1000  -file=/home/nrucks/20recs.mrc 
(file /home/nrucks/20recs.mrc contains 20 marc bibliographic records)
So far so good, everything is OK, I can see the 20 new records reflected on the website, on MYSQL database and in zebra indexes (rebuilt with koha-rebuild-zebra).

Then I made some modifications to the original 20 records and tried to import then again with BULKMARCIMPORT.PL , 
only this time using the -match= option, because I don't want to ADD records, but REPLACE them with corrections.
Field 035 of each record contains and keeps a unique identifier like the following:
035    $a (Ag-BiblioFCEN)000000002

perl /usr/share/koha/bin/migration_tools/bulkmarcimport.pl -biblios -v -fk -all -commit 1000 -file=/home/nrucks/20recs-modified.mrc -match=035
(file /home/nrucks/20recs-modified.mrc has 20 marc bibliographic records, slightly modified from 20recs.mrc )

But this always fails... I get this for each of the 20 records:
<<
.Use of uninitialized value $recorddata in pattern match (m//) at /usr/share/koha/bin/migration_tools/bulkmarcimport.pl line 582, <GEN46> line 1.
unable to search the database for duplicates : No query entered at /usr/share/koha/bin/migration_tools/bulkmarcimport.pl line 290, <GEN46> line 1.
>>

I tried some variants like -match=035a, with same results.
Note that the marc records are OK: I did try the same through the website, and worked fine: records were correctly REPLACED.
	http://.../cgi-bin/koha/tools/stage-marc-import.pl
	http://.../cgi-bin/koha/tools/manage-marc-import.pl
		<select name="overlay_action" id="overlay_action">
		<option value="replace" selected="selected">Reemplace un registro existente con uno nuevo</option>

	
But I plan to do this on a larger scale, and anyway, bulkmarcimport.pl should work.

Any recommendations as to the syntax of -match option? , or conditions of zebra index? Or options to use another field (-i ISBN will not do since many of our books do not have it)?
Or even some kind of hardcode workaround to BULKMARCIMPORT.PL (meaning "use THIS FIELD to check if record already exists"), or any other things I am obviously not taking into account?

Thanks in advance!

• VERSIONS of my installed KOHA (as stated in http:/.../about.pl):
Versión de Koha: 	17.05.02.000
Versión del SO ('uname -a'): 	Linux koha 2.6.32-44-pve #1 SMP Sun Mar 13 17:00:54 CET 2016 x86_64
Versión de Perl: 	5.020002
Versión de MySQL: 	mysql Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3 
Versión de Apache: 	Server version: Apache/2.4.10 (Debian) 
Versión de Zebra: 	Zebra 2.0.59 (C) 1994-2014, 


Nicolas Rucks
Biblioteca Central
UBA-FCEN
"Machines should not be friendly. Machines should be obedient."


More information about the Koha mailing list