+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Inscrit en
    mars 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : mars 2012
    Messages : 2
    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.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    octobre 2011
    Messages
    73
    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 : 73
    Points : 76
    Points
    76

    Par défaut

    Bonsoir as-tu essayer de faire un Dumper de selecth voir un peu ce qu'il à dans le ventre ?

  3. #3
    Membre confirmé Avatar de brice45
    Homme Profil pro
    Data manager
    Inscrit en
    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 : 226
    Points
    226

    Par défaut

    Bonjour,

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

    $dbh = DBI->connect("DBI:Oracle:$DB_NAME",
    $DB_USER,
    $DB_PASS,
    {'RaiseError' => 1}
    ) or die "erreur connexion\n";

  4. #4
    Membre confirmé Avatar de brice45
    Homme Profil pro
    Data manager
    Inscrit en
    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 : 226
    Points
    226

    Par défaut

    La syntaxe n'est peut être pas la bonne mais l'idée est d'ajouter le : or die

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •