connexion à une base oracle avec DBI - Perl - Programmation
Marsh Posté le 28-03-2007 à 13:54:27
si tu utilises ODBC c'est à l'ODBC qu'il faut te connecter avec les drivers ... suspense ... ODBC...
Marsh Posté le 28-03-2007 à 14:01:54
mon script de connexion est comme cela
Code :
|
et je veux me connecter à cette base oracle
Citation : |
normalement cela devrait fonctionner car je l'ai deja fait sous unix
Marsh Posté le 28-03-2007 à 14:07:03
depuis la machine où tu lances ton script perl :
Code :
|
si ca répond pas, c'est que tu as un pb de config du client oracle
si ca répond, c'est chelou car il ne trouve pas la config., dans ce cas là tu peux forcer la variable d'environnement TNS_ADMIN dans ton script :
Code :
|
Marsh Posté le 28-03-2007 à 15:29:15
ouai c'est bon , il voit la base
je l 'avais pas mise dans le fichier tnsnames c'etait pour ça
Marsh Posté le 28-03-2007 à 16:40:56
DBI c'est bien mais ça a certaine limite
je fais une requete et je lui demande de m'afficher ce qu'elle retoure
Code :
|
si la colonne est vide, ça plante et j'ai un "use of unintialized value....
je suis obliger de rajouter ça
if( not defined($t)){ $t='vide'; }
Marsh Posté le 29-03-2007 à 08:32:11
nan mais surtout fetchrow_array retourne ... un array
Donc tu es censé mettre le retour dans un tableau ( @t ), il serait effectivement urgent que tu mettes un use strict dans tes scripts
Marsh Posté le 29-03-2007 à 10:06:28
je sais qu'il retourne un tableau
mais vu que je retourne qu'une valeur dans ma requete, c'est un peu bête d'utiliser un tableai
Marsh Posté le 29-03-2007 à 10:16:49
alors à ce moment là tu dois écrire les choses "proprement":
Code :
|
honnêtement suis le conseil de coak, rajoute "use strict;" au début de ton script...
Marsh Posté le 29-03-2007 à 11:02:36
ok
je rajoute les paranthese,je les avais au depart,quand ma requete renvoyai 3 champs;
pour le use strict;
je l'ai mis, je le met toujours;
Marsh Posté le 28-03-2007 à 13:35:44
Salut,
J'ai un script, qui est censer me permettre de me connecter à une base oracle mais cela ne fonctionne pas;j'ai cette erreur
DBI connect('IRON1','user',...) failed: ORA-12154: TNS:could not resolve t
he connect identifier specified (DBD ERROR: OCIServerAttach) at C:\Documents and
Settings\billy\scripts\connect.pl line 14
Database connection not made: ORA-12154: TNS:could not resolve the connect ident
ifier specified (DBD ERROR: OCIServerAttach) at C:\Documents and
Settings\billy\scripts\connect.pl line 14.
à la ligne 14 j'ai cela
my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd) or
die "Database connection not made: $DBI::errstr";
Je ne vois pas pourquoi,pourtant j'ai bien installer un client oracle sur ma machine windows afin de pouvoir me connecter à ma base sur un serveur unix;
j'ai creer une connexion ODBC, je l'ai tester et elle fonctionne,
et des que je l'utilise dans le script , sa plante et j'ai le message d 'erreur;
SI quelqu'un pouvait m'eclairer;
Merci.