http://www.perlmonks.org?node_id=662213

Jim has asked for the wisdom of the Perl Monks concerning the following question:

Fellow Monks,

Have any of my brethren used Perl or the Perl DBI with eDOCS SearchServer (formerly known as both Hummingbird SearchServer and PCDOCS/Fulcrum SearchServer)? If so, can you please share your experience with me?

I know about DBD::SearchServer. It's old and unmaintained. The documentation states it was last tested with SearchServer version 3.5, which is ancient. I'm running SearchServer version 5.3 (which is also old) under Microsoft Windows and can neither find a binary distribution of it nor compile it myself.

I'm able to access SearchServer tables via ODBC using Win32::ODBC, but I would prefer to use the DBI.

I'm really just looking to compare notes with and glean knowledge from anyone who may have used Perl with a modern version of eDOCS SearchServer. Thanks!

Jim

  • Comment on Querying eDOCS SearchServer Full-Text Search Engine From Perl

Replies are listed 'Best First'.
Re: Querying eDOCS SearchServer Full-Text Search Engine From Perl
by pilcrow (Sexton) on Jan 14, 2008 at 00:53 UTC
    I'm able to access SearchServer tables via ODBC using Win32::ODBC, but I would prefer to use the DBI.

    On this point, how about trying DBD::ODBC?

      Seconded! I normally use DBD::ODBC as my first choice for chatting with databases. Some claim that it's not very efficient, but I find it quite adequate.

      ...roboticus

        But isn't it too slow and doesn't it have too much conceptual overlap with DBI to be the first choice?
      On this point, how about trying DBD::ODBC?

      Oops! Sorry. The important point I intended to make in my original post (but didn't) is that I did, indeed, try DBD::ODBC first and discovered it doesn't work with the SearchServer 5.3 ODBC driver. Apparently, SearchServer only supports ODBC 1.0. Crazy, huh?

      Here's a little test script that demonstrates the issue (I think):

      C:\>nl -ba -w 2 -s " " dbd-odbc.pl 1 #!C:/Perl/bin/perl.exe 2 3 use strict; 4 use warnings; 5 use DBI; 6 7 @ARGV == 2 or die "Usage: perl $0 <DSN> <ODBC Version>\n"; 8 9 my $dsn = shift; 10 my $ver = shift; 11 12 my $dbh = DBI->connect("dbi:ODBC:$dsn", undef, undef, { 13 PrintError => 0, 14 RaiseError => 1, 15 odbc_version => $ver, 16 }); 17 18 $dbh->disconnect; 19 20 exit 0; 21 22 __END__ C:\>db -d TESTDSN "SELECT COUNT(*) FROM TABLES" COUNT(*) 445 C:\>perl dbd-odbc.pl TESTDSN 1 DBI connect('TESTDSN','',...) failed: [Microsoft][ODBC Driver Manager] + Invalid argument value (SQL-HY024)(DBD: db_login/SQLSetEnvAttr err=- +1) at dbd-odbc.pl line 12 C:\>perl dbd-odbc.pl TESTDSN 2 DBI connect('TESTDSN','',...) failed: [Hummingbird][SearchServer]Drive +r not capable (SQL-S1C00)(DBD: dbd_db_login/SQLSetConnectOption err=- +1) at dbd-odbc.pl line 12 C:\>perl dbd-odbc.pl TESTDSN 3 DBI connect('TESTDSN','',...) failed: [Hummingbird][SearchServer]Drive +r not capable (SQL-HYC00)(DBD: dbd_db_login/SQLSetConnectOption err=- +1) at dbd-odbc.pl line 12 C:\>
      (The nl and db commands are handy MKS Toolkit utilities.)

      This was the motive for my inquiry. I'm wondering if anyone has used Perl with SearchServer and, in particular, managed to access SearchServer tables via ODBC using either Win32::ODBC or DBD::ODBC.

      Jim