6 use MARC::File::USMARC;
12 use Time::HiRes qw(gettimeofday);
15 my ( $input_marc_file, $number) = ('',0);
24 Script to create the zebra DB from a Koha DB
31 $|=1; # flushes output
33 my $dbh = C4::Context->dbh;
36 $Zconn = new ZOOM::Connection('localhost','2100');
39 print "Error ", $@->code()," : ",$@->message()."\n";
43 # first, drop Zebra DB
45 my $Zpackage = $Zconn->package();
46 $Zpackage->option(databaseName => 'Koha');
47 # $Zpackage->send("drop");
50 print "Error dropping /CODE:", $@->code()," /MSG: ",$@->message(),"\n";
55 my $Zpackage = $Zconn->package();
56 $Zpackage->option(databaseName => 'Koha');
57 # $Zpackage->send("create");
60 print "Error creating /CODE:", $@->code(),"\n /MSG:",$@->message(),"\n\n";
64 my $cgidir = C4::Context->intranetdir ."/cgi-bin";
65 unless (opendir(DIR, "$cgidir")) {
66 $cgidir = C4::Context->intranetdir."/";
69 my $starttime = gettimeofday;
70 my $sth = $dbh->prepare("select biblionumber from biblio");
73 while ((my $biblionumber) = $sth->fetchrow) {
74 my $record = MARCgetbiblio($dbh,$biblionumber);
75 # my $filename = $cgidir."/zebra/biblios/BIBLIO".$biblionumber."iso2709";
76 # open F,"> $filename";
77 # print F $record->as_usmarc();
79 my $Zpackage = $Zconn->package();
80 # print "=>".$record->as_xml()."\n";
81 $Zpackage->option(action => "recordInsert");
82 $Zpackage->option(record => $record->as_usmarc());
84 $Zpackage->send("update");
87 print "Error updating /CODE:", $@->code()," /MSG:",$@->message(),"\n";
92 print "\r$i" unless ($i % 100);
94 my $timeneeded = gettimeofday - $starttime;
95 print "\n$i MARC record done in $timeneeded seconds\n";