Textos largos, ODBC y PHP. Accediendo a una base de datos Access.

25 septiembre, 2011

Textos largos, ODBC y PHP. Accediendo a una base de datos Access.

By | Published | No hay comentarios

Bueno, me imagino que a los que podáis leer esto alguna vez os haya ocurrido.

Por circunstancias de mantenimiento de sitios web que tienen la base de datos en Access, me encuentro con que al recuperar un campo MEMO de Access en una pagina php me cortaba el contenido.

El problema estaba en una directriz de la sección ODBC del php.ini, en concreto en la siguiente variable:

; Handling of LONG fields.  Returns number of bytes to variables.  0 means
; passthru.
; http://php.net/odbc.defaultlrl
ODBC.defaultlrl = 4096

Su valor por defecto es de 4096 bytes para cada variable, pero si vais a utilizar textos realmente largos, es mejor cambiar este valor a uno superior, o dejarlo en ON para no tener limite (aunque esto es bastante arriesgado, ya que probablemente el consumo de memoria se dispararía).

¿Pues no me he tirado un par de días comiéndome la cabeza por esto?…

En fin, por si a alguien más le pasa, aquí queda constancia del error y su solución.

Saludos!!