FW_DbfSqlQuery con campos mayores de 256 carracteres
Posted: Tue Mar 05, 2024 9:49 am
Hola a todos.
Estoy intentando trabajar con tablas DBF pero mediante consultas SQL pero me encuentro con un problema cuando _ CARACTER son superiores a 256 caracteres.
He probado hacer las consultas mediante la función que provee Fivewin FW_DbfSqlQuery(), también mediante la conexión con ADO pero la información que me devuelve siempre es truncada.
Partiendo de una tabla:
CODIGO LEN 10
NOMBRE LEN 50
OBSERVACION LEN 1024
PAIS LEN 50
Si realizo la siguiente consulta:
la información del campo PAIS no es correcta, si bajo el tamaño del campo OBSERVACION a 256 funciona todo bien.
Mediante ADO pasa lo mismo:
He estado buscando información al respecto y en DBase IV hay una limitación a 256 caracteres como máximo en un campo de la tabla DBF. Esto se aumento en DBase V hasta 2048, pero no he encontrado la cadena de conexión con DBase V para ADO. He probado cambiando directamente DBase IV por DBase V en la cadena de conexión pero no funciona.
Gracias y salud!
Estoy intentando trabajar con tablas DBF pero mediante consultas SQL pero me encuentro con un problema cuando _ CARACTER son superiores a 256 caracteres.
He probado hacer las consultas mediante la función que provee Fivewin FW_DbfSqlQuery(), también mediante la conexión con ADO pero la información que me devuelve siempre es truncada.
Partiendo de una tabla:
CODIGO LEN 10
NOMBRE LEN 50
OBSERVACION LEN 1024
PAIS LEN 50
Si realizo la siguiente consulta:
Code: Select all | Expand
TEXT INTO cQuery
SELECT CODIGO, NOMBRE, PAIS
FROM ARTICULO
ENDTEXT
oRs := FW_DbfSqlQuery( '.\DBF\', cQuery,,.t.)
Mediante ADO pasa lo mismo:
Code: Select all | Expand
oC := win_oleCreateObject( "ADODB.Connection" )
oC:Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source="' + cPath + '";Extended Properties=dBASE IV;User ID=Admin;Password=;')
oRs := win_oleCreateObject( "ADODB.Recordset" )
TEXT INTO cQuery
SELECT CODIGO, NOMBRE, PAIS
FROM ARTICULO
ENDTEXT
oRs:Open( cQuery, oC )
Gracias y salud!