Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Candidat au titre de Membre du Club
    Homme Profil pro Benjamin
    Étudiant
    Inscrit en
    juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    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 : 30
    Points : 11
    Points
    11

    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 :
    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 :
    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
    15 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 15 912
    Points : 463 133
    Points
    463 133

    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 ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  3. #3
    Candidat au titre de Membre du Club
    Homme Profil pro Benjamin
    Étudiant
    Inscrit en
    juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    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 : 30
    Points : 11
    Points
    11

    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
    15 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 15 912
    Points : 463 133
    Points
    463 133

    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.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  5. #5
    Candidat au titre de Membre du Club
    Homme Profil pro Benjamin
    Étudiant
    Inscrit en
    juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    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 : 30
    Points : 11
    Points
    11

    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
    Candidat au titre de Membre du Club
    Homme Profil pro Benjamin
    Étudiant
    Inscrit en
    juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    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 : 30
    Points : 11
    Points
    11

    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 :
    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
    Nouveau 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 : 34
    Points
    34

    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 :
    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
    Nouveau 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 : 34
    Points
    34

    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.

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
  •