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;

}




끝.!




+ Recent posts