Thread Verwendung von Datenbanklinks in SELECT-Abfrage (29 answers)
Opened by Hanna at 2009-09-23 15:00

Gast Hanna
 2009-09-23 15:55
#126115 #126115
Hi,

guckst du:
Code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
my $db_source = "dbi:Oracle(AutoCommit=>1):" .$proddbname;
my $dbh = DBI->connect( $db_source, $proddbuser, $proddbpasswd ) or die "Keine Datenbankverbindung zu $db_source:\n$DBI::errstr";       
        
foreach(@partnumbers) {
        $partnr = $_;
        chomp($partnr);
        print Dumper $partnr;
        $sth = $dbh->prepare('SELECT PRODUCT_ID FROM schema.products@dblink_to_testdb WHERE (id= ?)');
#               $sth->bind_param(1,$partnr);
                $sth->execute();

if ( @row = $sth->fetchrow_array ) {
        print "@row gefunden.\n";
}


-------> folgende Ausgabe:
$VAR1 = "10.0206-0400.4";
10.0206-0400.4 nicht gefunden
$VAR1 = "10.0399-2973.4";
10.0399-2973.4 nicht gefunden
$VAR1 = "10.0206-0293.4";
10.0206-0293.4 nicht gefunden
$VAR1 = "10.0206-0412.4";
10.0206-0412.4 nicht gefunden
$VAR1 = "10.0206-0400.4";
10.0206-0400.4 nicht gefunden
$VAR1 = "10.0399-2974.4";


-------> heisst doch, dass er den richtigen Wert aus dem Array nimmt und die Abfrage damit ausführt (ausführen sollte....)?
Wird die Abfrage per SQL-Plus ausgeführt, stehen die Werte alle in der DB, ganz ehrlich :-)

Gibt es eine Möglichkeit sich das Statement, was das Programm ausführt, auf der Kommandozeile ausgeben zu lassen? (dass ich sehen kann, was er für einen Wert einsetzt, bzw. ob er den DB-Link richtig kann?)

Gruß
Hanna


mod-edit pq: perl-tags hinzugefügt
Last edited: 2009-09-23 15:58:54 +0200 (CEST)

View full thread Verwendung von Datenbanklinks in SELECT-Abfrage