sub available_databases { my ( $self, $dbh ) = @_; my @sids = (); #? my $databases = \@sids; return $databases; } sub get_db_handle { my ( $self, $db, $connect_parameter ) = @_; # $db == chosen SID my $obj_db_cred = App::DBBrowser::DB_Credentials->new( { connect_parameter => $connect_parameter, plugin_api_version => $self->plugin_api_version() } ); my $user = $obj_db_cred->get_login( 'user' ); my $passwd = $obj_db_cred->get_login( 'pass' ); my $dsn = "dbi:$self->{db_driver}:"; if ( exists $ENV{ORA_DRCP} ) { $dsn .= $sid; } else { my $host = $obj_db_cred->get_login( 'host' ); my $port = $obj_db_cred->get_login( 'port' ); $dsn .= "host=$host;" if length $host; $dsn .= "sid=$db;"; $dsn .= "port=$port;" if length $port; } my $dbh = DBI->connect( $dsn, $user, $passwd, { PrintError => 0, RaiseError => 1, AutoCommit => 0, ShowErrorStatement => 1, %{$connect_parameter->{attributes}}, } ) or die DBI->errstr; return $dbh; }