Thema: Problem mit DBI und 2 Connections

Tach zusammen,

ich weiß nimmer weiter.
Folgendes Ziel habe ich:
Zu 2 Datenbanken eine Verbindung aufbauen und dort 2 ziemlich identische Querys ablaufen lassen.
Das Ganze habe ich bisher so versucht:

 my $masterdbh=DBI->connect("dbi:Oracle:".$CONF{TNS_MASTER},"system",$CONF{SYS_MASTER}) or die $!;
 my $snapshotdbh=DBI->connect("dbi:Oracle:".$CONF{TNS_SNAPSHOT},"system",$CONF{SYS_SNAPSHOT}) or die $!;
 
 my $sql_create_repadmin="CREATE USER repadmin IDENTIFIED BY ?";
 
 my $stmt=$masterdbh->prepare($sql_create_repadmin);
 $stmt->execute($CONF{REP_MASTER});
 
 my $stmt2=$snapshotdbh->prepare($sql_create_repadmin);
 $stmt2->execute($CONF{REP_SNAPSHOT});
 

Jedoch scheitert das bei mir, weil $stmt offenbar nicht gesetzt ist...
Anmerkung: %CONF hat meine zukünftigen Passwörter gespeichert, da stehen auch definitiv Werte drin, wie ich mit dem Data::Dumper schon nachkontrolliert habe...
Der Fehler den ich bekomme ist:

 DBD::Oracle::db prepare failed: ORA-00988: Fehlende(s) oder ung³ltige(s) Kennwort(w÷rter) (DBD: error possibly near <*> indicator at char 36 in 'CREAT
 E USER repadmin IDENTIFIED BY <*>:p1') at rep.pl line 60.
 Can't call method "execute" on an undefined value at rep.pl line 62.
 

Kann mir jemand helfen?

TIA, tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

2

Re: Problem mit DBI und 2 Connections

Hm .. stimmt das Passwort? Wie sieht den der Inhalt von $CONF{TNS_MASTER} und den anderen aus? Soweit ich weis connectet man nach Oracle wie im folgenden Muster:

$dbh=DBI->connect("dbi:Oracle:[servername]","user","passwort");

Hannes

_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

3

Re: Problem mit DBI und 2 Connections

"servername" stimmt fast, da kommt eine Art "DNS"-Name rein, der ist aber völlig korrekt, wenn ich die dbh-Handles anzeigen lasse, wird sowas wie
0xHASH(00003fe)
angezeigt...
also vermute ich mal dass die Verbindungen okay sind..

tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

4

Re: Problem mit DBI und 2 Connections

servus,
> my $sql_create_repadmin="CREATE USER repadmin IDENTIFIED BY ?";
SQL statements müssen mit einem ";" abgeschlossen werden

greetz & fetten segen
manu

Source Code Editor in Perl
http://proton-ce.sf.net

5

Re: Problem mit DBI und 2 Connections

Moin Manu,

nein, das war's auch nicht.

Hab den Fehler mittlerweile selbst gefunden:
Einen User unter Oracle anzulegen klappt mit der DBI->prepare Methode nicht wenn ich das PW nachträglich als Bind-Parameter (->execute(passwort) ) einbringen möchte.
Ich habe jetzt 2 mal das Statement direkt mit ->do() ausgeführt und das neue Passwort direkt eingetragen, dann klappt's! <img src="/forum/images/graemlins/smile.gif" alt="" />

Gruß, tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

6

Re: Problem mit DBI und 2 Connections

servus,
manche sachen muss man einfach wissen... *G*
blub...
greetz & fetten segen
manu

Source Code Editor in Perl
http://proton-ce.sf.net