Hola a todos.
Estoy intentando trabajar con tablas DBF pero mediante consultas SQL pero me encuentro con un problema cuando los campos 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 los campos 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:
TEXT INTO cQuery
聽 聽 聽 SELECT CODIGO, NOMBRE, PAIS
聽 聽 聽 FROM ARTICULO
聽 聽ENDTEXT
聽 聽oRs := FW_DbfSqlQuery( '.\DBF\', cQuery,,.t.)Mediante ADO pasa lo mismo:
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!
--------
驴 Y porque no ?
驴 And why not ?
驴 Y porque no ?
驴 And why not ?