Bonjour à tous,
Je rencontre un bug lors de l'utilisation d'un script perl en interaction avec une base SQLite3.
Voici le script :
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
#!/usr/bin/perl -w
 
use DBI;
use strict;
use Getopt::Std;
use Time::HiRes qw[gettimeofday tv_interval];
 
my $sql_loc = "the/path/db.db";
my $db = DBI->connect("dbi:SQLite:dbname=$sql_loc", "", "", {RaiseError => 1, AutoCommit => 1}) or die $DBI::errstr;
 
my $sql = "SELECT element FROM test WHERE element = ?";
my ($row) = $db->selectrow_arrayref($sql, undef, '05');
 
unless ($row) { die "not found in database"; }
 
print("$row");
J'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
no such table test at ligne ...
Bon, la table test existe, je peux faire la requete en ligne de commande et avec un script python, mais il faut absolument qu'il tourne en perl (contrainte du logiciel)
La base est crée avec un script python.
BDB:SQLite et DBI sont installés via cpan.
Pas d'erreur avec "DBi->connect"
Qu'en pensez vous ? Erreur de script ? Problème avec l'environnement logiciel ?
Le perl est assez obscure pour moi, il m'est difficile d’appréhender le problème.
Merci