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 :

[SQL Serveur] Effectuer une requête SQL en Perl


Sujet :

SGBD Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut [SQL Serveur] Effectuer une requête SQL en Perl
    Bonjour,

    je rencontre le problème suivant lorsque je tente d'effectuer une requête SQL sur une base SQL Server 2000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DBI connect() failed: [Microsoft][Gestionnaire de pilotes ODBC]
    Source de données introuvable et nom de pilote non spécifié (SQL-IM002)
    J'ai cru comprendre au fil de mes lectures sur Internet qu'il me manquait un module ou connecteur pour le SQL Server, mais je m'y perds un peu ! J'ai lu ce tuto (http://djibril.developpez.com/tutoriels/perl/perl-dbi/) et divers autres, mais sans effet. Il semble y avoir un problème de connectivité avec la base. Voilà mon code (j'ai masqué les données "sensibles" par xxx) :

    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
    !/usr/bin/perl
     
    use DBI;
    use DBD::ODBC;
     
    # Données de connexion à la base
    $bd     = 'xxx';
    $hote     = 'xxx';
    $port    = 'xxx';
    $login    = 'xxx';
    $mdp    = 'xxx';
     
    # Source de données
    $dsn ="DBI:ODBC:SQL Server:$bd:[$hote:$port]";
     
    # Tentative de connection à la base de données
    $dbh=DBI->connect($dsn,$login,$mdp);
     
    # Requête SQL
    $requete = "SELECT xxx";
     
    # Préparation de la requête
    $sth=$dbh->prepare($requete);
     
    # Exécution de la requête
    $cr=$sth->execute([@valeurs]); 
     
    # Termine le traitement, libère les ressources
    $sth->finish ;
     
    # Déconnection du serveur
    $dbh->disconnect;
    Oui, pour l'instant je n'exploite pas les données que je récupère avec mon SELECT, mais j'aimerais d'abord réussir à accéder à la BDD ^^

    Merci d'avance pour votre aide !

  2. #2
    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 : 499 184
    Points
    499 184
    Par défaut
    Arrives-tu à y accéder via Excel ? Es-tu sûr d'avoir effectuer les bons paramétrage sur ton poste Windows ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Euh, je ne sais pas ! Je n'ai jamais essayé d'y accéder via Excel (d'ailleurs, je ne saurais pas comment faire). Par contre, j'ai déjà réussi à y accéder via mon poste de travail, en utilisant l'utilitaire DbaMgr2k.

    Concernant les paramètres de mon poste de travail : je ne sais pas, mais s'il y en a à faire, c'est ce que j'aimerais bien savoir

  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 : 499 184
    Points
    499 184
    Par défaut
    [Microsoft][Gestionnaire de pilotes ODBC]
    Source de données introuvable et nom de pilote non spécifié (SQL-IM002)
    Le message t'indique qu'il ne trouve pas la source de données.
    Sur ton poste, dans outil d'administration -> sources de données ODBC, as-tu configuré ta source ? Sans ça, impossible de se connecter en Perl (ou d'autres langages) via ODBC.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Effectivement, je n'avais pas pensé à ça ! Je pensais qu'on pouvait le faire directement depuis nos scripts (d'où le $dsn).

    Je teste ça dès demain au bureau et je te tiens au courant merci.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Ça ne fonctionne toujours pas j'ai configuré une source de données "Utilisateur" et une source de données "système" (je savais pas la différence entre les deux). À la fin de ma configuration, je fais un test, et j'obtiens ça :

    C'est bizarre, je pense que je suis pas loin du but... Peut-être que les paramètres de mon script sont ma configurés ? Pour rappel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use DBI;
    use DBD::ODBC;
     
    # Données de connexion à la base
    $plateforme    = 'ODBC:SQL Server';
    # Autres paramètres genre login, mdp, hote, port...
     
    # Source de données
    $dsn ="DBI:$plateforme:$bd:[$hote:$port]";
     
    # Tentative de connection à la base de données
    $dbh=DBI->connect($dsn,$login,$mdp);
    Même message d'erreur.

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 84
    Points : 66
    Points
    66
    Par défaut
    Je suis dans la même situation que benji1000 :
    DBI connect() failed: [Microsoft][Gestionnaire de pilotes ODBC]
    Source de données introuvable et nom de pilote non spécifié (SQL-IM002)
    Sous XP mon script fonctionne sans problème mais pas sous Seven et je précise que j'ai configuré la source de données dans l'outil administration de Windows.

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # CONNEXION A LA BASE DE DONNEES ACCESS
    my $path = 'C:/dossier/bdd2010.mdb';
    my $dbhA = DBI->connect("dbi:ODBC:driver=Microsoft Access Driver (*.mdb);dbq=$path") or die "Echec de connexion";
    Mon environnement de travail est Wamp et Active Perl 5.10 sous XP et 5.16 sous Seven. Quelqu'un a une idée ?

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 84
    Points : 66
    Points
    66
    Par défaut
    Après moultes vérifications, j'ai installé Perl en 32bits et je n'ai plus de problème de connexion à Access et je n'ai rien du changer d'autre.

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/03/2015, 11h57
  2. Effectuer une requête SQL en Pascal
    Par zpliz dans le forum Pascal
    Réponses: 6
    Dernier message: 26/04/2010, 14h02
  3. demande d'aide sur une requête sql serveur
    Par PHPkoala dans le forum Développement
    Réponses: 8
    Dernier message: 30/09/2009, 15h11
  4. Langage pour effectuer une requête SQL.
    Par slake13 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 19/11/2008, 13h22
  5. [SQL] Recherche d'une requête SQL
    Par kilkikou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/06/2006, 16h00

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