Bonjour a tous,
Je rencontre quelques difficultés a me connecter a une base MS SQL depuis linux.
J'utilise une conf freetds déjà configurée (et qui fonctionne déjà pour d'autres choses)
Code :
- [plop@truc01 ~]$ locate freetds
- /outils/local-etc/freetds.conf
- /outils/local-etc/freetds.conf.ori
- /usr/local/freetds
- /usr/local/freetds/include
- /usr/local/freetds/lib
- [plop@truc01 ~]$ cat /outils/local-etc/freetds.conf
- [serveur1]
- host = serveur1
- port = 1433
- tds version = 8.0
- [plop@truc01 ~]$ tsql -H serveur1 -U xxxx -P xxx -p 1433
- locale is "C"
- charset is "ANSI_X3.4-1968"
- Msg 5703, Level 0, State 1, Server xxxx\xxxx, Line 0
- Changed language setting to us_english.
- 1>
|
Par contre je ne reussi pas a me connecter a ce serveur via mon script perl
Code :
- [plop@truc01 ~]$ cat test_connect.pl
- #!/usr/bin/perl -w
- use warnings;
- use strict;
- use DBI;
- use DBD::Sybase;
- BEGIN
- {
- $ENV{SYBASE} = "/usr/local/freetds";
- }
- my $user = "xxx";
- my $passwd = "xxx";
- print "avant\n";
- my $dbh = DBI->connect("DBI:Sybase:server=serveur1", $user, $passwd) or die "connection impossible!";
- print "apres\n";
- ## la suite c'est pour la forme ... ca plante avant :/
- dbh->do("use Domaines" );
- my $sth;
- $sth = $dbh->prepare("select * FROM tableA" );
- if ($sth->execute)
- {
- while(my @dat = $sth->fetchrow)
- { print "@dat\n"; }
- }
- exit(0);
|
Lorsque j'execute ce script :
Code :
- [plop@truc01 ~]$ ./test_connect.pl
- avant
- Server message: number=14 severity=1 state=18452 line=0 text=
- Segmentation fault
|
Je sais pas trop ou ca bloque.
D'apres http://freetds.org/userguide/perl.htm ca a l'air pourtant simple
Une idée braves gens ?
Merci bien
Message édité par 3xc4l18ur le 07-01-2007 à 09:56:34