We have seen some problems exporting marc from Horizon, using yaz to convert to utf-8 then loading to vufind.  In the post you mention they say:

 

bytes 20-24 are always ’4500′.  

 

I have been finding that Horizon has loaded records that do not always have that 4500, BUT they don’t always cause a problem.  Seems like that part of the leader is in the 000 tag.  It does not display on any Cataloging screens or anything but when you output MARC it puts it in the 000 field.  I am finding that sometimes when I have a record like that, it goes through yaz and gets an error, then vufind tries to load and gives errors somewhat like what you have below for the records before and after that record with the bad leader.

 

Don’t know if that helps.  I am also finding that not every record that does not have that ‘4500’ causes problems. I did a scan and identified 88K bibs in our 6 million plus database, but only some of them don’t make it to Vufind or Aquabrowser.  It might be a cleanup we could get SirsiDynix to do.  I haven’t convinced myself it is enough of a problem to try to fix all 88K records. I don’t think there is a way to fix this using the Horizon client software though. You might have to export the record then use some other utility to fix this error.

 

Frances McNamara

University of Chicago

 

From: horizon-l-bounces@mailman.xmission.com [mailto:horizon-l-bounces@mailman.xmission.com] On Behalf Of kevin smith
Sent: Tuesday, June 26, 2012 2:01 PM
To: horizon-l@mailman.xmission.com; vufind-general@lists.sourceforge.net
Subject: [HORIZON-L] Structural marc problems

 

Hello,

 

I have run into some issues importing records into VuFind from Horizon.  It had been going along fine for weeks, but now I am getting all sorts of errors.  Something like this:

 

ERROR [main] (MarcImporter.java:257) - Error reading record: For input string: "ocm6"

ERROR [main] (MarcImporter.java:257) - Error reading record: unable to parse record length

ERROR [main] (MarcImporter.java:257) - Error reading record: null

ERROR [main] (MarcImporter.java:257) - Error reading record: Directory length is not a multiple of 12 bytes long. Unable to continue.

ERROR [main] (MarcImporter.java:257) - Error reading record: unable to parse record length

ERROR [main] (MarcImporter.java:257) - Error reading record: null

ERROR [main] (MarcImporter.java:257) - Error reading record: Directory length is not a multiple of 12 bytes long. Unable to continue.

ERROR [main] (MarcImporter.java:257) - Error reading record: unable to parse record length

ERROR [main] (MarcImporter.java:257) - Error reading record: null

ERROR [main] (MarcImporter.java:257) - Error reading record: Directory length is not a multiple of 12 bytes long. Unable to continue.

ERROR [main] (MarcImporter.java:257) - Error reading record: unable to parse record length

ERROR [main] (MarcImporter.java:257) - Error reading record: null

 

I am not sure if this has to do with a record that is too long for marc, or some other leader problems.  I have been looking at this blog post about some Horizon specific issues: http://bibwild.wordpress.com/2010/02/02/structural-marc-problems-you-may-encounter/

 

I am just not sure where to go from here.  Are there queries I can run against the Horizon database to check for, and fix the integrity of the marc records?

 

Thanks,

 

--
Kevin Smith
Digital Library Manager
Wake County Public Libraries