I'm having trouble with DBD::Sybase 1.04 on ActivePerl 5.8.4 (build 810) on Windows. It seems to hang when connecting. Here's a sample script that exercises the problem:
use strict; use warnings; use DBI; $| = 1; my $password = shift; print "connecting...\n"; my $dbh = DBI->connect( "dbi:Sybase:server=SYB_DEVCYGWIN", "sa", $password, { RaiseError => 1, PrintError => 0, AutoCommit => 1, } ); print "connected...\n"; When run, it prints "connecting..." but then hangs, chewing all available CPU until I kill it. The Sybase server SYB_DEVCYGWIN is on a separate server and I can connect OK to it via isql. Below is the results of running the script at trace level 9. Any clue? Do earlier ActivePerl versions work? I'd be willing to load an earlier ActivePerl version, but would like some assurance that it might work before I go to all the trouble... Here's the trace output: DBI 1.42-ithread default trace level set to Ox9/0 (in pid 2184) -> DBI->connect(dbi:Sybase:server=SYB_DEVCYGWIN, sa, ****, HASH(0x1a45768)) -> DBI->install_driver(Sybase) for MSWin32 perl=5.008004 pid=2184 ruid=0 euid=0 syb_init() -> DBD::Sybase 1.04 initialized OpenClient version: Sybase Client-Library/12.5.1 ASE Edition/P-EBF11378/PC Intel/BUILD1251-004/OPT/Thu Aug 14 11:57:18 2003 install_driver: DBD::Sybase version 1.04 loaded from c:/Perl/site/lib/DBD/Sybase.pm New DBI::dr (for DBD::Sybase::dr, parent=, id=) dbih_setup_handle(DBI::dr=HASH(0x1b588d0)=>DBI::dr=HASH(0x1c1b7f4), DBD::Sybase::dr, 0, Null!) dbih_make_com(Null!, 0, DBD::Sybase::dr, 84, 0) thr#15d4a54 dbih_setup_attrib(DBI::dr=HASH(0x1c1b7f4), Err, Null!) SCALAR(0x1bcb220) (already defined) dbih_setup_attrib(DBI::dr=HASH(0x1c1b7f4), State, Null!) SCALAR(0x1bcb268) (already defined) dbih_setup_attrib(DBI::dr=HASH(0x1c1b7f4), Errstr, Null!) SCALAR(0x1bcb244) (already defined) dbih_setup_attrib(DBI::dr=HASH(0x1c1b7f4), TraceLevel, Null!) 0 (already defined) dbih_setup_attrib(DBI::dr=HASH(0x1c1b7f4), FetchHashKeyName, Null!) 'NAME' (already defined) <- install_driver= DBI::dr=HASH(0x1b588d0) >> connect DISPATCH (DBI::dr=HASH(0x1b588d0) rc2/3 @5 g0 ima1 pid#2184) at c:/Perl/site/lib/DBI.pm line 587 !! warn: 0 CLEARED by call to connect method -> connect for DBD::Sybase::dr (DBI::dr=HASH(0x1b588d0)~0x1c1b7f4 'server=SYB_DEVCYGWIN' 'sa' **** HASH(0x1c1c8e4)) thr#15d4a54 New DBI::db (for DBD::Sybase::db, parent=DBI::dr=HASH(0x1c1b7f4), id=) dbih_setup_handle(DBI::db=HASH(0x1c1b7b8)=>DBI::db=HASH(0x1c1c950), DBD::Sybase::db, 1b55810, Null!) dbih_make_com(DBI::dr=HASH(0x1c1b7f4), 1c1be64, DBD::Sybase::db, 2428, 0) thr#15d4a54 dbih_setup_attrib(DBI::db=HASH(0x1c1c950), Err, DBI::dr=HASH(0x1c1b7f4)) SCALAR(0x1b5c724) (already defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), State, DBI::dr=HASH(0x1c1b7f4)) SCALAR(0x1b5c784) (already defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), Errstr, DBI::dr=HASH(0x1c1b7f4)) SCALAR(0x1b5c754) (already defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), TraceLevel, DBI::dr=HASH(0x1c1b7f4)) 0 (already defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), FetchHashKeyName, DBI::dr=HASH(0x1c1b7f4)) 'NAME' (already defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), HandleSetErr, DBI::dr=HASH(0x1c1b7f4)) undef (not defined) dbih_setup_attrib(DBI::db=HASH(0x1c1c950), HandleError, DBI::dr=HASH(0x1c1b7f4)) undef (not defined) servermsg_cb -> number=5704 severity=10 state=1 line=0 server=SYB_DEVCYGWIN text=Changed client character set setting to 'iso_1'. servermsg_cb -> number=5701 severity=10 state=2 line=0 server=SYB_DEVCYGWIN text=Changed database context to 'master'. servermsg_cb -> number=5703 severity=10 state=1 line=0 server=SYB_DEVCYGWIN text=Changed language setting to 'us_english'. syb_db_login() -> checking for chained transactions syb_db_login() -> chained transactions are supported >> prepare DISPATCH (DBI::db=HASH(0x1c1b7b8) rc1/1 @2 g0 ima2201 pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 103 via foo line 10 -> prepare for DBD::Sybase::db (DBI::db=HASH(0x1c1b7b8)~0x1c1c950 'select @@version') thr#15d4a54 New DBI::st (for DBD::Sybase::st, parent=DBI::db=HASH(0x1c1c950), id=) dbih_setup_handle(DBI::st=HASH(0x1c1c9e0)=>DBI::st=HASH(0x1c1ca7c), DBD::Sybase::st, 1c1c9ec, Null!) dbih_make_com(DBI::db=HASH(0x1c1c950), 1c1d404, DBD::Sybase::st, 396, 0) thr#15d4a54 dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), Err, DBI::db=HASH(0x1c1c950)) SCALAR(0x1b5c724) (already defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), State, DBI::db=HASH(0x1c1c950)) SCALAR(0x1b5c784) (already defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), Errstr, DBI::db=HASH(0x1c1c950)) SCALAR(0x1b5c754) (already defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), TraceLevel, DBI::db=HASH(0x1c1c950)) 0 (already defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), FetchHashKeyName, DBI::db=HASH(0x1c1c950)) 'NAME' (already defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), HandleSetErr, DBI::db=HASH(0x1c1c950)) undef (not defined) dbih_setup_attrib(DBI::st=HASH(0x1c1ca7c), HandleError, DBI::db=HASH(0x1c1c950)) undef (not defined) <- prepare= DBI::st=HASH(0x1c1c9e0) at c:/Perl/site/lib/DBD/Sybase.pm line 103 via foo line 10 >> execute DISPATCH (DBI::st=HASH(0x1c1c9e0) rc1/1 @1 g0 ima1041 pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 104 via foo line 10 -> execute for DBD::Sybase::st (DBI::st=HASH(0x1c1c9e0)~0x1c1ca7c) thr#15d4a54 syb_alloc_cmd() -> CS_COMMAND 1c21960 for CS_CONNECTION 1c14150 syb_db_opentran() -> ct_command( BEGIN TRAN DBI1c1d404 ) = 1 syb_db_opentran() -> ct_send() = 1 syb_db_opentran() -> ct_results(4047) == 1 syb_db_opentran() -> ct_results(4046) == 1 syb_alloc_cmd() -> CS_COMMAND 1c21960 for CS_CONNECTION 1c14150 syb_st_execute() -> ct_command() OK syb_st_execute() -> ct_send() OK st_next_result() -> ct_results(4040) == 1 ct_res_info() returns 1 columns ct_describe(0): type = 0, maxlen = 255 describe() -> col 0, type 0, realtype 0 describe() retcode = 1 st_next_result() -> lasterr = 0, lastsev = 0 <- execute= -1 at c:/Perl/site/lib/DBD/Sybase.pm line 104 via foo line 10 >> fetch DISPATCH (DBI::st=HASH(0x1c1c9e0) rc1/1 @1 g0 ima0 pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 105 via foo line 10 -> fetch for DBD::Sybase::st (DBI::st=HASH(0x1c1c9e0)~0x1c1ca7c) thr#15d4a54 dbih_setup_fbav for 1 fields => 0x1c1cb54 syb_st_fetch() -> 0/111/0 <- fetch= [ 'Adaptive Server Enterprise/12.5.1/EBF 11522/P/NT (IX86)/OS 4.0/ase1251/1824/32-bit/OPT/Mon Sep 29 21:41:30 2003' ] row1 at c:/Perl/site/lib/DBD/Sybase.pm line 105 via foo line 10 >> STORE DISPATCH (DBI::db=HASH(0x1c1c950) rc2/3 @3 g0 ima41c pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 107 via foo line 10 -> STORE for DBD::Sybase::db (DBI::db=HASH(0x1c1c950)~INNER 'syb_server_version' '12.5.1') thr#15d4a54 <- STORE= 1 at c:/Perl/site/lib/DBD/Sybase.pm line 107 via foo line 10 >> DESTROY DISPATCH (DBI::st=HASH(0x1c1c9e0) rc1/1 @1 g0 ima4 pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 99 via foo line 10 <> DESTROY ignored for outer handle DBI::st=HASH(0x1c1c9e0) (inner DBI::st=HASH(0x1c1ca7c) has ref cnt 1) >> DESTROY DISPATCH (DBI::st=HASH(0x1c1ca7c) rc1/1 @1 g0 ima4 pid#2184) at c:/Perl/site/lib/DBD/Sybase.pm line 99 via foo line 10 -> DESTROY for DBD::Sybase::st (DBI::st=HASH(0x1c1ca7c)~INNER) thr#15d4a54 syb_st_finish() -> ct_cancel(CS_CANCEL_ALL) -- David Good [EMAIL PROTECTED] This space intentionally left blank.