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

SGBD Perl Discussion :

[ORACLE] Erreurs Compilation avec connexion BDD


Sujet :

SGBD Perl

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Points : 110
    Points
    110
    Par défaut [ORACLE] Erreurs Compilation avec connexion BDD
    Bonjour,

    C'est mon premier code avec connexion base de données, et je rencontre un problème bloquant, lorsque je compile mon script j'ai des erreurs de compilations :

    Un première fenêtre d'erreur apparait me disant :
    " Le point d'entrée de procédure OCIPing est introuvable dans la bibliothèque de liaisons dynamique OCI.dll"

    Ensuite mon terminal affiche :

    Can't load 'C:/Perl/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load
    _file:La procÚdure spÚcifiÚe est introuvable at C:/Perl/lib/DynaLoader.pm line 2
    01.
    at exemple.pl line 7
    Compilation failed in require at exemple.pl line 7.
    BEGIN failed--compilation aborted at exemple.pl line 7.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #!/usr/bin/perl
     
    use warnings;
    use strict;
    use DBI;    # Charger le module DBI
    # use DBD;
    use DBD::oracle;
     
    # Parametres de connexion à la base de données
    my $BaseDeDonnees = "EDEVALG";
    my $NomHote       = "ALGER-AD"; # Il est possible de mettre une adresse IP 
    my $login         = "Centura";   # Login
    my $MotDePass     = "centura";   # Mot de pass
     
    # Connection à la base de données Oracle
    my $dbh = DBI->connect( "dbi:Oracle:dbname=$BaseDeDonnees;host=$NomHote;",$login, $MotDePass )
        or die "Connection impossible à la base de donnees $BaseDeDonnees !";
     
    # Creation des tables
    print "Creation de la table Forms\n";
    my $SQLCreationTablesForms = <<"SQL";
    CREATE TABLE Forms (
      id_Forms INT NOT NULL ,
      ligne INT NOT NULL ,
      name VARCHAR( 250 ) NOT NULL ,
      class VARCHAR( 250 ) NOT NULL ,
      property VARCHAR( 250 ) NOT NULL ,
      class_Dll VARCHAR( 250 ) NOT NULL ,
      title VARCHAR( 250 ) NOT NULL ,
      accessories VARCHAR( 250 ) NOT NULL ,
      visible VARCHAR( 250 ) NOT NULL ,
      description VARCHAR( 250 ) NOT NULL ,
      PRIMARY KEY ( id_Forms )
    ) COMMENT = 'Tableau des fenetres';
    SQL
     
    $dbh->do($SQLCreationTablesForms) # méthode do pour inserer des données
        or die "Impossible de creer la table Forms\n\n";
     
    # Lecture des fichiers et insertion des données
    my $FichierForms = "parserForms.txt";
     
    # Fichier parserForms
    print "Insertion des donnees dans la table Forms\n";
     
    open( my $FhForms, '<', $FichierForms )
        or die("Impossible de lire le fichier $FichierForms\n");
    my $EnteteFichierForms = <$FhForms>;
     
    while ( my $ligne = <$FhForms> ) {
        chomp $ligne;
        my ( $Id, $Ligne, $Name, $Class, $Property, $Class_Dll, $Title, $Accessories, $Visible, $Description ) = split( /\t/, $ligne );
     
        # Insertion des données
        my $RequeteSQL = <<"SQL";
      INSERT INTO Forms ( id_Forms, ligne, name, class, property, class_Dll, title, accessories, visible, description )
      VALUES ( "$Id, $Ligne, $Name, $Class, $Property, $Class_Dll, $Title, $Accessories, $Visible, $Description" );
    SQL
     
        $dbh->do($RequeteSQL) or die "Echec Requete $RequeteSQL : $DBI::errstr";
    }
    close($FhForms);
     
    # Déconnection à la base de données
    $dbh->disconnect();
    Je compile avec Active Perl 5.10.1 Build 1008

    Si vous avez des conseils ou idées je vous en remercie d'avance je suis vraiment bloqué... !

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 164
    Points : 218
    Points
    218
    Par défaut
    Bonjour,
    Il faut installer les modules manquants avec PPM (Perl Package Manager) en particulier DBD-Oracle (c'est sous cette forme qu'il apparaît dans la liste des packages à installer)
    Nibroc

    Citation Envoyé par oliviernouhi Voir le message
    Bonjour,

    C'est mon premier code avec connexion base de données, et je rencontre un problème bloquant, lorsque je compile mon script j'ai des erreurs de compilations :

    Un première fenêtre d'erreur apparait me disant :
    " Le point d'entrée de procédure OCIPing est introuvable dans la bibliothèque de liaisons dynamique OCI.dll"

    Ensuite mon terminal affiche :

    Can't load 'C:/Perl/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load
    _file:La procÚdure spÚcifiÚe est introuvable at C:/Perl/lib/DynaLoader.pm line 2
    01.
    at exemple.pl line 7
    Compilation failed in require at exemple.pl line 7.
    BEGIN failed--compilation aborted at exemple.pl line 7.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #!/usr/bin/perl
     
    use warnings;
    use strict;
    use DBI;    # Charger le module DBI
    # use DBD;
    use DBD::oracle;
     
    # Parametres de connexion à la base de données
    my $BaseDeDonnees = "EDEVALG";
    my $NomHote       = "ALGER-AD"; # Il est possible de mettre une adresse IP 
    my $login         = "Centura";   # Login
    my $MotDePass     = "centura";   # Mot de pass
     
    # Connection à la base de données Oracle
    my $dbh = DBI->connect( "dbi:Oracle:dbname=$BaseDeDonnees;host=$NomHote;",$login, $MotDePass )
        or die "Connection impossible à la base de donnees $BaseDeDonnees !";
     
    # Creation des tables
    print "Creation de la table Forms\n";
    my $SQLCreationTablesForms = <<"SQL";
    CREATE TABLE Forms (
      id_Forms INT NOT NULL ,
      ligne INT NOT NULL ,
      name VARCHAR( 250 ) NOT NULL ,
      class VARCHAR( 250 ) NOT NULL ,
      property VARCHAR( 250 ) NOT NULL ,
      class_Dll VARCHAR( 250 ) NOT NULL ,
      title VARCHAR( 250 ) NOT NULL ,
      accessories VARCHAR( 250 ) NOT NULL ,
      visible VARCHAR( 250 ) NOT NULL ,
      description VARCHAR( 250 ) NOT NULL ,
      PRIMARY KEY ( id_Forms )
    ) COMMENT = 'Tableau des fenetres';
    SQL
     
    $dbh->do($SQLCreationTablesForms) # méthode do pour inserer des données
        or die "Impossible de creer la table Forms\n\n";
     
    # Lecture des fichiers et insertion des données
    my $FichierForms = "parserForms.txt";
     
    # Fichier parserForms
    print "Insertion des donnees dans la table Forms\n";
     
    open( my $FhForms, '<', $FichierForms )
        or die("Impossible de lire le fichier $FichierForms\n");
    my $EnteteFichierForms = <$FhForms>;
     
    while ( my $ligne = <$FhForms> ) {
        chomp $ligne;
        my ( $Id, $Ligne, $Name, $Class, $Property, $Class_Dll, $Title, $Accessories, $Visible, $Description ) = split( /\t/, $ligne );
     
        # Insertion des données
        my $RequeteSQL = <<"SQL";
      INSERT INTO Forms ( id_Forms, ligne, name, class, property, class_Dll, title, accessories, visible, description )
      VALUES ( "$Id, $Ligne, $Name, $Class, $Property, $Class_Dll, $Title, $Accessories, $Visible, $Description" );
    SQL
     
        $dbh->do($RequeteSQL) or die "Echec Requete $RequeteSQL : $DBI::errstr";
    }
    close($FhForms);
     
    # Déconnection à la base de données
    $dbh->disconnect();
    Je compile avec Active Perl 5.10.1 Build 1008

    Si vous avez des conseils ou idées je vous en remercie d'avance je suis vraiment bloqué... !

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Ce problème de connexion à Oracle est vraiment récurent sur ce forum .

    Personnellement, je n'ai jamais travaillé sous Oracle, néanmoins, en essayant cette commande sous DOS
    perl -MDBD::Oracle -e ""
    , j'ai le même message d'erreur :
    Cette application n'a pas pu démarrer car OCI.dll est introuvable. La réinstallation de cette application peut corriger ce problème.
    .
    Pourtant DBD::Oracle est dans le core de perl (perl 5.10 build 1008).

    Voici le Readme du module pour Windows.

    Sinon je n'ai pas de solutions pour le moment, je vais essayer de chercher.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Il faudrait peut être déjà installer un client oracle sur ton PC non ?

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Points : 110
    Points
    110
    Par défaut
    J'ai regardé le readme, pour lui apparement oui.
    Je suis entrain d'installer le client Oracle via install oracle 10XE http://www.oracle.com/technology/pro.../xe/index.html

    Mais je pensais que avec activeperl et les bon package ça serait bon... ! :s

    Je fais un test...

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Points : 110
    Points
    110
    Par défaut
    J'ai installé le client mais je ne sais même pas a quoi ça sert. je suis un peu perdu la .... :s

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Points : 110
    Points
    110
    Par défaut
    J'y comprend plus rien ! j'ai fais des installe dans tout les sens, j'ai tout essayé, rien ne marche !!

    il n'y aurait pas une autre solution pour se connecté à ma base de donnée oracle ? !!

    Help please !!

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 236
    Points : 110
    Points
    110
    Par défaut
    en faisant pas mal de recherche, apparement c'est bien compliqué de faire marcher oracle et perl, y a beaucoup de problème.
    J'ai fais un test avec MySql et wamp, ça marche direct.

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    C'est sûr qu'entre Oracle et Perl, ce n'est pas le grand amour. Du moins, beaucoup de disputes . Et malheureusement, les personnes ayant réussis à faire cohabiter les 2 ne se signalent pas sur le forum afin de partager l'information, donc difficile d'aider tout le monde.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur compilation avec Makefile
    Par 30avril1989 dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 24/03/2011, 15h33
  2. ERREUR COMPILATION AVEC PCW
    Par beetS dans le forum Windows
    Réponses: 0
    Dernier message: 01/04/2008, 19h19
  3. Erreur compilation avec Code Blocks
    Par Ulver dans le forum wxWidgets
    Réponses: 3
    Dernier message: 10/04/2007, 22h26
  4. Erreur compilation avec <string>
    Par seal3 dans le forum SL & STL
    Réponses: 9
    Dernier message: 25/08/2005, 20h41
  5. Réponses: 3
    Dernier message: 22/08/2005, 18h28

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