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 :
- Installation du module avec ppm
- 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"; }- 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; }- 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.
Partager