Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > SGBD
SGBD Toutes vos questions sur l'interaction entre Perl et les bases de données (SQL, mysql, postgresql, ORACLE, ...) Avant de poster, veuillez consulter les FAQs perl, les cours Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/03/2012, 17h35   #1
OlivierCimb
Invité de passage
 
Inscription : mars 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2012
Messages : 1
Points : 0
Points : 0
Par défaut selectrow_hashref ne retourne aucune valeur

Bonjour,

J'utilise perl pour une connexion à un DB Oracle 11.2. Quand j'exécute ma requête avec sqlplus, tout fonctionne mais quand j'utilise perl (module DBI + DBD Oracle) je n'ai pas d'erreur mais pas de valeur non plus.

Mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use strict;
use DBI;
use DBD::Oracle;
 
$ENV{'ORACLE_HOME'} = "/app/oracle/product/11.2/db_1";
$ENV{'LD_LIBRARY_PATH'} = "/app/oracle/product/11.2/db_1/lib";
 
  my $dbh;
  my $selecth;
  my $error;
  #try to check if zabbix knows about this IP
  eval {
  $dbh = DBI->connect("DBI:Oracle:$DB_NAME",
                          $DB_USER,
                          $DB_PASS,
                          {'RaiseError' => 1}
                      );
 
        $selecth = $dbh->selectrow_hashref("select h.hostid hostid, h.host host, i.ip ip from hosts h, interface i where h.hostid = i.hostid and i.type = 2 and i.main = 1 and i.ip='$ipaddress'");
Ensuite l'instruction $selecth->{'host'} ne retourne aucune valeur.

Si quelqu'un a une idée...
Merci d'avance.
Olivier.
OlivierCimb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2012, 16h56   #2
magicshark
Membre du Club
 
Homme
Développeur COBOL
Inscription : octobre 2011
Messages : 56
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur COBOL
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 56
Points : 60
Points : 60
Bonsoir as-tu essayer de faire un Dumper de selecth voir un peu ce qu'il à dans le ventre ?
magicshark est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2012, 11h59   #3
brice45
Membre confirmé
 
Avatar de brice45
 
Homme
Data manager
Inscription : mai 2005
Messages : 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Data manager
Secteur : Santé

Informations forums :
Inscription : mai 2005
Messages : 188
Points : 227
Points : 227
Bonjour,

Es-tu sûr que ta connexion est ok ? A ta place, j'essaierais déjà le code suivant :

Citation:
$dbh = DBI->connect("DBI:Oracle:$DB_NAME",
$DB_USER,
$DB_PASS,
{'RaiseError' => 1}
) or die "erreur connexion\n";
brice45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2012, 12h01   #4
brice45
Membre confirmé
 
Avatar de brice45
 
Homme
Data manager
Inscription : mai 2005
Messages : 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Data manager
Secteur : Santé

Informations forums :
Inscription : mai 2005
Messages : 188
Points : 227
Points : 227
La syntaxe n'est peut être pas la bonne mais l'idée est d'ajouter le : or die
brice45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h41.


 
 
 
 
Partenaires

Hébergement Web