|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||
|
Inscription : juillet 2010 Messages : 10 ![]() |
Bonjour à tous,
Je rencontre des problèmes de communication entre un serveur RedHat et un serveur Microsoft SQL. Le but est de remplir un formulaire en php. La requete se passe bien mais je ne récupère que 255 caractères en retour... Dans ces formulaires, on retrouve deux champs de type texte et qui sont enregistrés dans une table sql serveur, dans un champ de taille 2000 et de type nvarchar. A la restitution, le formulaire php ne me renvoie que les 255 premiers caractères. Lorsque je teste de faire des requetes en isql, je ne recois que les 255 premiers caractères. La configuration est la suivante : -1 serveur RedHat 2.6.18-308.8.2.el5 x64 -- apache httpd-2.2.3-65.el5_8 -- php php-5.1.6-39.el5_8 -- freetds freetds-0.91-2.el5 & freetds-devel-0.91-2.el5 + -1 serveur MSSQL Windows 2003 R2 x86 --Microsoft SQL 2008 R2 Pour faire communiquer le serveur RedHat et le serveur SQL, j'utilise FreeTDS. Ci-dessous la configuration de mes fichiers : freetds.conf Code :
Code :
Code :
Pour vérifier le driver, la connexion tsql passe bien Code :
Code :
Code :
Si je teste la requete sur le serveur SQL (management studio), je n'ai aucun problème, le résultat est complet... Ma question : FreeTDS est-il capable de renvoyer plus de 255 caractères en nvarchar. Sur la documentation, il me semble que c'est possible. Merci d'avance pour vos réponses |
||||||||||||
|
|
00
|
|
|
#2 | ||
|
Inscription : juillet 2010 Messages : 10 ![]() |
Je crois que le problème vient de la version tds utilisée.
Sur le site ci-dessous, il est indiqué : htp://www.freetds.org/userguide/choosingtdsprotocol.htm TDS 4.2 has limitations varchar fields are limited to 255 characters. If your table defines longer fields, they'll be truncated. or lorsque je fais un tsql -C , on voit bien que ma machine utilise TDS version = 4.2 Code :
Ma question change alors, Comment faire pour forcer ma machine a utilisé TDS version = 8.0 ? En vous remerciant par avance |
||
|
|
00
|
|
|
#3 |
|
Inscription : juillet 2010 Messages : 10 ![]() |
Bonjour,
Je reviens vers vous car j'ai trouvé la solution à mon problème, il fallait que je change la variable d'environnement TDSVER=8.0. Soit on peut faire puis relance le serveur httpd Pour rendre la modification permanente, j'ai été modifier le fichier suivant sur ma red hat et ajouter au reboot, la requete SQL sur ma page php n'était plus tronquée. par contre, lorsque je fais un tsql -C il est toujours indiqué TDS version = 4.2 mais bon, lorsque je fais env on a bien TDSVER=8.0 |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com