Configuration PHP - MSSQL
Posté : 12 sept. 2007, 16:40
Bonjour,
Je vous écris suite à une petite question qui me turlupine :
J'ai un serveur IIS avec PHP, et une connexion avec SQLSERVER.
La connexion se fait très bien, je parviens à effectuer des requetes select etc.
Sauf que certaines requetes ne passent pas.
Du style SELECT BTEXTE FROM TABLE WHERE (ID=1)
A savoir que BTEXTE est un champ ntext de taille 16.
Ca ne me retourne rien, et j'avoue ne plus savoir quoi faire. J'ai fouillé du coté de php.ini, mais rien de bien concret, voici ma config :
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
;mssql.connect_timeout = 5
;mssql.timeout = 60
mssql.textlimit = 200000
mssql.textsize = 200000
;mssql.batchsize = 0
;mssql.datetimeconvert = On
mssql.secure_connection = Off
;mssql.max_procs = -1
;mssql.charset = "ISO-8859-1"
j'ai testé de modifier textlimit et textsize, de base a 4096 mais rien...
Une idée ?
EDIT : Je pense avoir trouvé la solution. Je la publie si cela intéresse du monde
Le problème ne vient pas de buffer mais de type de données. Le champs que j'essayais de récupérer est ntext, or PHP n'a pas l'air d'aimer ntext. J'ai converti le champ en text (en esperant ne pas avoir écrasé de données :-/ tels que les accents etc.
SQL SERVER et PHP ne sont pas forcément compatibles sur tous les points...
Je vous écris suite à une petite question qui me turlupine :
J'ai un serveur IIS avec PHP, et une connexion avec SQLSERVER.
La connexion se fait très bien, je parviens à effectuer des requetes select etc.
Sauf que certaines requetes ne passent pas.
Du style SELECT BTEXTE FROM TABLE WHERE (ID=1)
A savoir que BTEXTE est un champ ntext de taille 16.
Ca ne me retourne rien, et j'avoue ne plus savoir quoi faire. J'ai fouillé du coté de php.ini, mais rien de bien concret, voici ma config :
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
;mssql.connect_timeout = 5
;mssql.timeout = 60
mssql.textlimit = 200000
mssql.textsize = 200000
;mssql.batchsize = 0
;mssql.datetimeconvert = On
mssql.secure_connection = Off
;mssql.max_procs = -1
;mssql.charset = "ISO-8859-1"
j'ai testé de modifier textlimit et textsize, de base a 4096 mais rien...
Une idée ?
EDIT : Je pense avoir trouvé la solution. Je la publie si cela intéresse du monde
Le problème ne vient pas de buffer mais de type de données. Le champs que j'essayais de récupérer est ntext, or PHP n'a pas l'air d'aimer ntext. J'ai converti le champ en text (en esperant ne pas avoir écrasé de données :-/ tels que les accents etc.
SQL SERVER et PHP ne sont pas forcément compatibles sur tous les points...