RH 5.1 make (again)

Craig Burton craigb at ibis.com.au
Mon Oct 18 00:59:12 EDT 1999

Mark Schaal writes:
 > > DBI::FreeTDS is a separate implementation done by Craig.  It does not
 > > or require the freetds libraries. I have no idea if Craig is still
 > > on it or not... There is also Michael Pepplers DBD::Sybase which I have
 > > personally used and it works well (within the bounds of what freetds
 > > supports).  You'll need at least version 0.47 of freetds and version
 > > and up of DBD::Sybase should work.
 > Craig doesn't really like perl, and he spends his time on the JDBC code
 > instead.  I wrote up a bare minimum DBD of my own, and based on my
 > experience I'd recommend using DBD::Sybase.  It's a nice package with
 > pretty full feature support and Michael is actively developing it.

 > Sybperl is....well, I'm not sure what sybperl is or why someone would 
 > want/need to use it.  Maybe someone else could fill this in.

	sybperl is a thin wrapper around the Sybase C APIs. It's a lot more
	mature than DBI/DBD::Sybase (I've been working on it for 9 years :-)
	and it's maybe more natural to use for someone who already knows the

	Sybase APIs (or MS's DBlibrary). It's a little more
	than DBI, though obviously less portable. 

Hmmm...  the man page warns me not to use this, and instead says go
to Sybase::DBLib instead.

"       The Sybase::Sybperl module is provided to ease porting old
       1.x programs to perl5. It is not recommended that this module be used
       any new project. See the Sybase::DBlib manpage or the Sybase::CTlib
       for alternatives. "

CPAN recons my sybase:: etc is up to date.  I had a burl with DBLib :


use Sybase::DBlib;


$dbh = new Sybase::DBlib 'WWW', 'blah',, 'test_app';
$dbh->dbcmd("select * from sysprocesses\n");
while(@data = $dbh->dbnextrow)
print @data."\n";

Which barked with

Can't call method "dbcmd" without a package or object reference at
./dbtest2.pl line 10.

Something is obviously awry here...  all I want to use this software for
is the following

	select max(idchange), dschange from tblchange

	insert into tblchange (idchange, dschange) values ($max, $ts)

That's it.  It just happens that the DB is a remote SQL7.0 and the client
is Linux Perl.  

Just forced reinstall of Sybase, but still are problems: CPAN make gives

PERL_DL_NONLAZY=1 /usr/bin/perl -I.././blib/arch -I.././blib/lib
/5.00404 -I/usr/lib/perl5 -e 'use Test::Harness qw(&runtests $verbose);
$verbose=0; runtests
 @ARGV;' t/*.t
t/bcp...............Can't call method "sql" without a package or object
reference at t/bcp.t
 line 49.

I am about to install perl 5.005_03, maybe there is some junk linked
into my perl binary.

Any advice for performing this SQL task would be greatly appreciated...



More information about the FreeTDS mailing list