Hi:

This is an extract of test code of what I�m doing:

use Carp;
use DBI;
use Data::Dumper;

my $self = {};

eval { 
        local $SIG{ALRM} = sub { die "TIMEOUT"; }; 
        alarm 3; 
        
        $self->{DBH} =
DBI->connect("dbi:ODBC:GARDEL","Gardel","Gardel",{RaiseError => 0});
}; 
alarm 0;

print Dumper ($self->{DBH}), " ", DBI->err, " ",DBI->errstr, "\n";

The problem is that when I try to connect to the database through DBI and
there is no network, a message box appears saying:

10065 WSA E HostUnreach: The Teradata server can't currently be reached over
this network.

Furthermore the alarm sign doesn�t execute, and only when I hit OK button in
the message box, the execution thread goes off the scope of the eval (exits)
and just in that moment the message in the command line appears(print Dumper
...).

I would rather prefer:
1) that the message box doesn�t appear, which it would imply that the alarm
would ring. OR
2) If there is no way to override the message box, to automatically "HIT"
the OK Button.

Thanks in advance.




Reply via email to