Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > SGBD
SGBD Toutes vos questions sur l'interaction entre Perl et les bases de données (SQL, mysql, postgresql, ORACLE, ...) Avant de poster, veuillez consulter les FAQs perl, les cours Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/04/2010, 10h29   #1
socaw
Nouveau Membre du Club
 
Homme
Inscription : mars 2010
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations forums :
Inscription : mars 2010
Messages : 84
Points : 35
Points : 35
Par défaut Win32::ODBC connexion à MS Access

Bonjour à tous,

Je tente de me connecter à une base de données MS Access via un script écrit en Perl.
Ma séquence de travail est la suivant :
  1. Installation du module avec ppm
  2. Recherche de l'orthographe exacte des drivers [Résultat--> Microsoft Acces Driver ($.mdb)]
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/perl
    use strict;
     
    use Win32::ODBC;
     
    my %drivers = Win32::ODBC::Drivers();
    foreach my $driver (sort keys %drivers){
      print "Driver = $driver\n";
    }
  3. Utilisation de la méthode ConfigDSN pour configurer ma base de données comme source de données systèmes
    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
    #!/usr/bin/perl
    use strict;
    use Win32::ODBC;
     
    # créer une source de données ODBC
    my $DriverType = "Microsoft Access Driver (*.mdb)";
    my $DSN = "age_sup_inf_14";
    my $Description = "banque de données test";
    my $DataBase = "age_sup_inf_14.mdb";
    my $dir="c:\exo_perl_sig";
    if(Win32::ODBC::ConfigDSN(ODBC_ADD_DSN,
            $DriverType,
            ("DSN=$DSN",
            $Description,
            "DBQ=$dir\\$DataBase",
            "DEFAULTDIR=$dir",
            "UID=", "PWD="))){
      print "content-type:text/html\n\n";
      print "configuration de la source de données: $DSN effectué avec succès!\n";
    }
    else{
      print "content-type:text/html\n\n";
      print "erreur lors de la création de la source de données $DSN\n";
      Win32::ODBC::DumpError();
      die;
    }
  4. Tentative de connexion avec le script suivant :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/perl
    use strict;
    #chargement du module Win32::ODBC
    use Win32::ODBC; 
     
    my $db;
     
    #ouverture de la connexion vers ma base de données
    my $DSN = "DSN=age_sup_inf_14;";
     
    if (! ($db = new Win32::ODBC($DSN))) { # création d'un objet avec vérification de la connexion
    	print "erreur lors de la liaison avec $DSN\n";
    	print "erreur: ". Win32::ODBC::Error() ."\n";
    	exit;
    }
Lors de l'exécution de ce dernier script, j'obtiens la réponse suivante :
erreur de liaison avec age_sup_inf_14
erreur : [-1044] [] "[Microsoft] [Pilot ODBC Microsoft Access] Nom de fichier incorrect;"


Je ne comprends pas pourquoi mon nom de fichier est incorrect.
socaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2010, 16h10   #2
socaw
Nouveau Membre du Club
 
Homme
Inscription : mars 2010
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations forums :
Inscription : mars 2010
Messages : 84
Points : 35
Points : 35
Je suis passé à DBI avec DBD::ODBC, plus de problème.
socaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h13   #3
IceFab
Invité régulier
 
Inscription : avril 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 8
Points : 5
Points : 5
Citation:
Envoyé par socaw Voir le message
Je suis passé à DBI avec DBD::ODBC, plus de problème.
Bonjour,

pourrais tu ous en dire plus sur l'utilisdation ODBC ??

cdt
IceFab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h59.


 
 
 
 
Partenaires

Hébergement Web