Problems getting DBD::Sybase to work..

Reza Naima reza at loudcloud.com
Thu Apr 19 17:33:30 EDT 2001


I've been trying to get freetds to work with DBD::Sybase but I've been
failing.  The DBD's "make test" fails and it cores.  The problem with make
test is that it's not picking up the ip address and doing a lookup on null
:

#1  0xff0e9fb8 in tds_connect (login=0x10dc10) at login.c:153
153             sin.sin_addr.s_addr = inet_addr(config->ip_addr);
(gdb) print *config
$1 = {server_name = 0x1859a0 "BACKUP", host = 0x0, 
  ip_addr = 0x0, port = 4000, minor_version = 0, major_version = 5, 
  block_size = 512, language = 0x1cb188 "us_english", 
  char_set = 0x1c4f90 "iso_1", database = 0x0, dump_file = 0x0, 
  broken_dates = 0, timeout = 0, connect_timeout = 0}

I've modified the config.c file to print out some info, and when I just
run one of the test scripts, It seems as if it's able to find the
.interface file with the proper information.. however, setting DBD/DBI
into debug mode, it just looks like it's confused :

reza at nocfs:~/sun_src/DBD-Sybase-0.91 > !224
/h/reza/bin/sun/bin/perl -Iblib/arch -Iblib/lib
-I/h/reza/bin/sun//lib/perl5/5.6.1/sun4-solaris
-I/h/reza/bin/sun//lib/perl5/5.6.1 t/main.t
1..14
ok 1
    DBI 1.15-nothread dispatch trace level set to 2
    Note: perl is running without the recommended perl -w option
    -> FETCH for DBD::Switch::dr (DBI::dr=HASH(0x134b58)~INNER
'Attribution')
    <- FETCH= 'DBI 1.15 by Tim Bunce' at main.t line 41.
    <- FETCH= '1.15' ('Version' from cache) at main.t line 41.
Switch: DBI 1.15 by Tim Bunce, 1.15
Available Drivers: ADO, ExampleP, Multiplex, Proxy, Sybase
    -> DBI->connect(dbi:Sybase:server=BACKUP, root, ****, HASH(0x1c5fe0))
    -> DBI->install_driver(Sybase) for perl=5.006001 pid=3865 ruid=10357
euid=10357
    syb_init() -> DBD::Sybase 0.91 initialized
    OpenClient version: ÿÈÿÿÿö
       install_driver: DBD::Sybase loaded (version 0.91)
    <- install_driver= DBI::dr=HASH(0x112a08)
    -> connect for DBD::Sybase::dr (DBI::dr=HASH(0x112a08)~0x1d1b10
'server=BACKUP' 'root' **** HASH(0x1171e4))
* Server looking for is BACKUP
* Searching /h/reza .interfaces BACKUP for interface 
* Path = /h/reza/.interfaces
Found version=ether ip=172.16.76.90, port=4101
    <- connect= undef at DBI.pm line 412.
    -> errstr in DBD::_::common for DBD::Sybase::dr
(DBI::dr=HASH(0x112a08)~0x1d1b10)
    <- errstr= '' at DBI.pm line 413.
       DBI->connect(server=BACKUP) failed: 
    -> DESTROY for DBD::Sybase::db (DBI::db=HASH(0x1d1ad4)~INNER)
         DESTROY for DBI::db=HASH(0x1d1ad4) ignored - handle not
initialised
    <- DESTROY= undef at main.t line 46.
    -> $DBI::errstr (&) FETCH from lasth=DBI::dr=HASH(0x1d1b10)
    >> DBD::Sybase::dr::errstr
Unable for connect to BACKUP:  at t/main.t line 46.
    -- DBI::END
    -> disconnect_all for DBD::Sybase::dr
(DBI::dr=HASH(0x112a08)~0x1d1b10)
    <- disconnect_all= 1 at DBI.pm line 454.
    -> DESTROY in DBD::_::common for DBD::Sybase::dr
(DBI::dr=HASH(0x1d1b10)~INNER)
    <- DESTROY= undef during global destruction.
    -> DESTROY in DBD::_::dr for DBD::Switch::dr
(DBI::dr=HASH(0x134b58)~INNER)
    <- DESTROY= undef during global destruction. 


The lines that start with * are debugging lines I added to the config.c
file.  I'm using DBI version 1.15 and DBD version 0.91 with the "current"
version of the freetds from the website.  I'm just confused as to what the
problem could be.

Any help would be greatly appreciated.
Thanks,
Reza



More information about the FreeTDS mailing list