[perl] DB접속하기 함수구현
oracle, mysql, pgsql 을 쉽게접속하기위한 함수
(물론 모듈은 각자 구해서 사용함~)
sub db_connect($$$$)
{
my ($DB_SID, $DB_USER, $DB_PASSWD, $DB_SYSTEM) = @_;
my $dbh = "";
my $dsn = "";
eval {
$SIG{ALRM} = sub { die "$!"; };
alarm(2);
if ($DB_SYSTEM eq "oracle") {
$dsn = "DBI:Oracle:$DB_SID";
}
elsif ($DB_SYSTEM eq "mysql") {
$dsn = "DBI:mysql:database=$DB_SID";
}
else {
$dsn = "DBI:Pg:dbname=$DB_SID;host=localhost";
}
$dbh = DBI->connect($dsn,
$DB_USER,
$DB_PASSWD,
{RaiseError => 1,AutoCommit => 0,PrintError => 1});
alarm(0);
};
if ($@) {
warn "DBI->connect() timeout";
warn $@;
$dbh = undef;
}
if (! $dbh) {
warn "DBI->connect() failed: $!";
return undef;
}
return $dbh;
}
끝.!