Bonjour à tous, je suis actuellement en stage et je travaille sur une base de donnée SQL SERVER 2000 via un serveur linux et un driver ODBC (FreeTDS).
Tout cela fonctionne très bien à un détail près. Dans une de mes pages je doit récupérer un champ texte stocké dans la base qui dépasse les 10 000 caractères. Le hic c'est que lorsque j'affiche ma variable, le texte est tronqué à 4096 caractères...
J'ai fait quelques recherches avant de poster mon message et j'ai effectué les configurations suivantes (qui n'ont rien changées...)
Dans freetds.conf
text size = 65536
Dans php.ini
odbc.defaultlrl = 65536
Quelqu'un aurait-il rencontré le même genre de problème et aurait-il la solution?
Merci d'avance pour vos réponses.
# Output buffering ?
Posté par vazco . Évalué à 2.
Tu n'aurais pas un tampon de sortie limité à 4096 octets dans ta configuration PHP, par hasard ?
Cf. éléments de doc
[^] # Re: Output buffering ?
Posté par FearHaCk . Évalué à 1.
Apparemment non, voici la ligne correspondante dans php_info()
Merci quand même, une autre idée peut-être ?
[^] # Re: Output buffering ?
Posté par vazco . Évalué à 1.
La taille de ta variable est-elle identique à celle des données contenues dans ton champ ?
[^] # Re: Output buffering ?
Posté par FearHaCk . Évalué à 1.
Comment connaitre la mémoire utilisée par une variable ? Désolé mais je ne suis pas très bon en php...
[^] # Re: Output buffering ?
Posté par vazco . Évalué à 1.
Y'a pas un truc genre
strlen
, en php ? Et c'est pas une chaîne de caractères, que tu récupères ?[^] # Re: Output buffering ?
Posté par FearHaCk . Évalué à 1.
Ah ok je pensais que tu me parlais de la taille en mémoire. Sinon, non la taille est bien (malheureusement) de 4096 caractères. Je suis en train de voir avec le responsable informatique pour modifier la valeur de cette configuration sur SQL SERVER :
Qui est pour l'instant à 4096.
Je te tiens au courant quand c'est fait.
# Rien à faire ?
Posté par FearHaCk . Évalué à 1.
Le réglage du sp_configure n'as rien changé. Je suis un peu perdu, je ne sais plus trop où chercher...
Quelqu'un a une idée ?
[^] # Re: Rien à faire ?
Posté par pi6Lohe . Évalué à 1.
En principe avec Transact-SQL, tu peux connaitre la taille max d'un champ text avec la requete sql "select @@textsize" et la positionner avec "set textsize valeur" si la valeur n'est figée par le serveur.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.