IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Connection à une base de donnée oracle


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut Connection à une base de donnée oracle
    Bonjour,

    Je voudrais me connecter à une base de données Oracle distante, j'ai écrit ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $dbp = DBI->connect('dbi:Oracle:host=10.0.0.97;db=mydb;sid=ORCL;port=1521',  'tss', 'tss', { RaiseError => 1, AutoCommit => 0 });
    voila la trace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBI connect('host=10.0.0.97;db=tss;sid=ORCL;port=1521','tss',...) failed: ERROR OCINlsEnvironmentVariableGet(OCI_NLS_CHARSET_ID) Check ORACLE_HOME and NLS settings etc. at C:/Documents and Settings/morsi/workspace/perlProject/database.pl line 5
    MERCI de m'aider

  2. #2
    Membre chevronné Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Par défaut
    Bonjour,

    Je ne suis pas un pro dans la connexion à une base de données mais je dirais que le message d'erreur t'indique que les variables d'environnement ORACLE_HOME et NLS sont manquantes.

    En regardant la page du module Oracle (http://search.cpan.org/~pythian/DBD-...1.23/Oracle.pm) j'ai trouvé des infos (ainsi que sur certains autres sites.

    Voici une solution qui n'est peut être pas bonne ou la meilleure mais sait-on jamais en ajoutant cela dans un bloc BEGIN:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    BEGIN {
    $ENV{'NLS_LANG'} = 'american';
    $ENV{'ORACLE_HOME'} = 'path_to_oracle';
    }
    Le ORACLE_HOME est le répertoire où trouver oracle et apparemment le NLS est la langue. Donc en mettant tes informations peut être que cela marchera. Tu peux aussi configurer ces variables d'environnement directement sur ton système.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut
    Merci, mais, ma base de données Oracle n'est pas installé dans mon localhost, comment faire dans ce cas concernant ORACLE_HOME

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    La variable ORACLE_HOME n'indique pas où est installée la base de données, elle indique où sont installés les fichiers nécessaires pour se connecter, ce qu'on appelle couramment le "client oracle".

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut
    quel sont en perl les fichiers nécessaires pour se connecter à la base de données Oracle pour y mettre ORACLE_HOME?

    Merci

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Le client Oracle est indépendant de Perl, il se télécharge sur le site d'Oracle comme par exemple ici pour le client léger (Instant Client):
    http://www.oracle.com/technology/sof...ent/index.html
    Mais si le poste peut déjà se connecter à Oracle indépendamment de Perl, par exemple avec SQL*Plus, c'est que le client Oracle est déjà installé.

Discussions similaires

  1. Comment se connecter à une base de données oracle avec Talend?
    Par shark84 dans le forum Développement de jobs
    Réponses: 8
    Dernier message: 16/09/2011, 10h13
  2. se connecter à une base de donnée oracle
    Par mounim_taoufik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/12/2009, 20h50
  3. Réponses: 3
    Dernier message: 24/04/2008, 09h13
  4. Réponses: 6
    Dernier message: 08/11/2006, 14h05
  5. Réponses: 4
    Dernier message: 22/12/2005, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo