Bio-Das-ProServer
view release on metacpan or search on metacpan
lib/Bio/Das/ProServer/SourceAdaptor/Transport/oracle.pm view on Meta::CPAN
sub dbh {
my $self = shift;
my $dbname = $self->config->{dbname};
my $host = $self->config->{dbhost} || $self->config->{host}; # optional
my $sid = $self->config->{dbsid} || $self->config->{sid}; # optional
my $port = $self->config->{dbport} || $self->config->{port}; # optional
my $username = $self->config->{dbuser} || $self->config->{username};
my $password = $self->config->{dbpass} || $self->config->{password};
my $driver = $self->config->{driver} || 'Oracle';
my $dsn = "DBI:$driver:";
if ($host && $sid) {
$dsn .= "host=$host;sid=$sid";
if($port) {
$dsn .= ";port=$port";
}
} else {
$dsn .= $dbname;
}
if(!$self->{dbh} ||
!$self->{dbh}->ping()) {
$self->{dbh} = DBI->connect_cached($dsn, $username, $password, {RaiseError => 1});
}
return $self->{dbh};
}
1;
__END__
=head1 NAME
Bio::Das::ProServer::SourceAdaptor::Transport::oracle - Oracle/DBI transport layer
=head1 VERSION
$Revision: 687 $
=head1 SYNOPSIS
=head1 DESCRIPTION
=head1 SUBROUTINES/METHODS
=head2 dbh : Oracle database handle
Overrides Transport::dbi::dbh method
my $dbh = Bio::Das::ProServer::SourceAdaptor::Transport::oracle->dbh();
=head1 DIAGNOSTICS
=head1 CONFIGURATION AND ENVIRONMENT
=head1 DEPENDENCIES
=head1 INCOMPATIBILITIES
=head1 BUGS AND LIMITATIONS
=head1 AUTHOR
Roger Pettett <rmp@sanger.ac.uk>
=head1 LICENSE AND COPYRIGHT
Copyright (c) 2005 The Sanger Institute
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. See DISCLAIMER.txt for
disclaimers of warranty.
=cut
( run in 2.611 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )