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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
    #!/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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.