Thread Oracle und DBD::Oracle (8 answers)
Opened by Kuerbis at 2015-02-02 16:34

Kuerbis
 2015-02-02 16:34
#179443 #179443
User since
2011-03-20
941 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich versuche gerade herauszufinden, wie ein CPAN:App::DBBrowser::DB Plugin für Oracle aussehen könnte. Darum meine Frage.
Ist diese get_db_handle Methode OK?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
 
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;
}

Last edited: 2015-02-03 09:12:28 +0100 (CET)

View full thread Oracle und DBD::Oracle