<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.6.2">
</HEAD>
<BODY>
Hello everybody,<BR>
<BR>
I am strugling with koha and Z39.50 servers for a while now. Apparently no server except UNIV OF NORTHERN WALES 147.143.2.5:210 INNOPAC worked for me. So I decided to write a simple program in perl to test the Z39.50 functionality. After solving problems revealed here: <A HREF="http://lists.indexdata.dk/pipermail/net-z3950/2003-October/000356.html">http://lists.indexdata.dk/pipermail/net-z3950/2003-October/000356.html</A> and here: <A HREF="http://lists.indexdata.dk/pipermail/net-z3950/2002-July/000136.html">http://lists.indexdata.dk/pipermail/net-z3950/2002-July/000136.html</A> I managed to write a working program:<BR>
<BR>
#!/usr/bin/perl<BR>
<BR>
use Net::Z3950;<BR>
<BR>
#$conn = new Net::Z3950::Connection(&quot;LIBRARY.MIT.EDU&quot;, 9909, databaseName =&gt; &quot;mit01&quot;)<BR>
#$conn = new Net::Z3950::Connection(&quot;Z3950cat.bl.uk&quot;, 9909, databaseName =&gt; &quot;BLAC&quot;)<BR>
#$conn = new Net::Z3950::Connection(&quot;z3950.nls.uk&quot;, 7290, databaseName =&gt; &quot;Endeavor&quot;)<BR>
#$conn = new Net::Z3950::Connection(&quot;bobcat.nyu.edu&quot;, 210, databaseName =&gt; &quot;GEAC&quot;)<BR>
$conn = new Net::Z3950::Connection(&quot;z3950.loc.gov&quot;, 7090, databaseName =&gt; &quot;Voyager&quot;)<BR>
&nbsp;&nbsp;&nbsp; or die $!;<BR>
$conn-&gt;option('preferredRecordSyntax',<BR>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Net::Z3950::RecordSyntax::USMARC);<BR>
$rs = $conn-&gt;search(&quot;\@attr 1=7 \&quot;3764353651\&quot;&quot;)<BR>
&nbsp;&nbsp;&nbsp; or die $conn-&gt;errmsg();<BR>
#$rs-&gt;option(preferredRecordSyntax =&gt; &quot;SUTRS&quot;);<BR>
#$rs-&gt;option(preferredRecordSyntax =&gt; &quot;XML&quot;);<BR>
#$rs-&gt;option(elementSetName =&gt; &quot;B&quot;);<BR>
<BR>
my $n = $rs-&gt;size();<BR>
$rs-&gt;present(1, $n);<BR>
print &quot;found $n records:\n&quot;;<BR>
foreach $i (1..$n) {<BR>
&nbsp;&nbsp;&nbsp; $rec = $rs-&gt;record($i) or die $rs-&gt;errmsg();<BR>
&nbsp;&nbsp;&nbsp; print $rec-&gt;render();<BR>
}<BR>
<BR>
$conn-&gt;close();<BR>
<BR>
Then I looked in the processz3950queue and found:<BR>
<BR>
eval { $conn-&gt;option(preferredRecordSyntax =&gt; Net::Z3950::RecordSyntax::USMARC);} if ($globalsyntax eq &quot;<FONT COLOR="#ff0000"><B>MARC21</B></FONT>&quot;);<BR>
eval { $conn-&gt;option(preferredRecordSyntax =&gt; Net::Z3950::RecordSyntax::UNIMARC);} if ($globalsyntax eq &quot;UNIMARC&quot;);<BR>
<BR>
however there is no MARC21 choice in z3950servers.tmpl:<BR>
<BR>
&lt;select name=&quot;syntax&quot;&gt;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value=&quot;USMARC&quot;&gt;<B><FONT COLOR="#ff0000">USMARC</FONT></B>&lt;/option&gt;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value=&quot;UNIMARC&quot;&gt;UNIMARC&lt;/option&gt;<BR>
&lt;/select&gt;<BR>
<BR>
I realized then that changing MARC21 to USMARC fixes the problem. Now I can succesfully use the library of congress in my searches. <BR>
<BR>
eval { $conn-&gt;option(preferredRecordSyntax =&gt; Net::Z3950::RecordSyntax::USMARC);} if ($globalsyntax eq &quot;<B><FONT COLOR="#008000">USMARC</FONT></B>&quot;);<BR>
<BR>
Hopefully this will come handy for someone else to running into the same problem.<BR>
<BR>
Best regards,<BR>
Len<BR>
<BR>
<B><FONT SIZE="1"><FONT COLOR="#474747">Marilen Aretius Corciovei</FONT></FONT></B><BR>
<FONT SIZE="1"><FONT COLOR="#474747">J2EE, Linux Consultant</FONT></FONT><BR>
<FONT SIZE="1"><FONT COLOR="#474747"><A HREF="http://len.is-a-geek.org">http://len.is-a-geek.org</A></FONT></FONT><BR>
<FONT SIZE="1"><FONT COLOR="#474747"><A HREF="http://www.nemesisit.ro">http://www.nemesisit.ro</A></FONT></FONT>
</BODY>
</HTML>