Connection SQLite distante
Bonjour à tous. Je débute actuellement en Perl et je souhaiterais :
1 - me connecter à une base SQLite distante
2 - récupérer certaine valeurs
3 - envoyer ces valeurs dans le LDAP
Donc à l'heure actuelle je bugge ... à la première étape. Donc je ne vais pas traiter de la partie LDAP :)
Donc je dispose d'un pc client et d'un pc source qui tourne sous Debian etch avec Xivo ( solution open source téléphonique basé sur Asterisk.)
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
| #!/usr/bin/perl
use warnings;
use strict;
use DBI; # Charger le module DBI
# Parametres de connexion à la base de données
my $BaseDeDonnees = "/var/lib/asterisk/astsqlite";
my $NomHote = "xxxx"; # Il est possible de mettre une adresse IP
my $login = ""; # login
my $MotDePass = ""; # Nous n'avons pas de mot de pass
# Connection à la base de données mysql
my $dbh = DBI->connect( "dbi:SQLite:dbname=$BaseDeDonnees;host=$NomHote;",
$login, $MotDePass )
or die "Connection impossible à la base de donnees $BaseDeDonnees !";
my @request;
my $prep = $dbh->prepare("SELECT callerid FROM usersip");
$prep->execute() or die "Echec requete\n";
while ( my ($ide) = $prep->fetchrow_array) { push(@request , $ide);
}
$prep->finish(); |
Comme vous pouvez le constater , sa ressemble énormément au tutorial fournit sur dvp.net :).
Ceci dis sa ne marche pas , voici l'erreur relevé :
Code:
1 2 3
|
DBD::SQLite::db prepare failed: no such table: usersip(1) at dbdimp.c line 271 at test2.pl line 24.
Can't call method "execute" on an undefined value at test2.pl line 25. |
J'imagine que la connection à ma DB n'est pas effective car , quoi que je mette en hsotname et dbname , sa ne marche pas. Sa ne me marque meme pas Erreur de connection.
Pensant que le script foiré , j'ai testé avec mysql et la sa marche nikel ( ou si je met des conneries dans les hosts , il me dit bien " erreur de connection " )
J'ai installé tous les drivers SQLite. Donc voilà je m'en remet à vous:
1 - La connection SQLite distante est t'elle possible ?
2 - Ma connection string est t'elle bonne ?
3 - Est t'il possible de mettre un chemin comme dans mon exemple pour la dbname ?
Best regards;
PS : pas d'iptables sur les 2 machines