Hemos retocado la siguiente parte del código de Xailer oDBCDataSet.prg, en
realidad ToDBCDataSet por que al hacer los select en aquellos campos que en
el motor son superiores a 64 char los recortaba a ese tamaño, no se dónde se
pierde Xailer y le clava 64 cuando por ejemplo en el motor mide 100 de largo
o mas, lo resaltado mas abajo en rojo funciona bien, si tendrá algún otro
impacto? no lo sabemos, esperamos comentarios y si está ok se podría incluír
la corrección en la clase nativa de xailer.
Muchas gracias.
....
aStruct := {}
FOR nFor := 1 TO Len( aFields )
cField := ValidField( aFields[ nFor, SQL_INFO_NAME ], aStruct )
WITH OBJECT ::AddField( aFields[ nFor, SQL_INFO_NAME ] )
:cDisplayName := :cName
:cDbfName := cField
:cType := aFields[ nFor, SQL_INFO_TYPE ]
:nSQlType := aFields[ nFor, SQL_INFO_SQLTYPE ]
:nLen := aFields[ nFor, SQL_INFO_LEN ]
:nSQLLen := aFields[ nFor, SQL_INFO_SQLLEN ]
:nDec := aFields[ nFor, SQL_INFO_DEC ]
:nSQLDec := aFields[ nFor, SQL_INFO_SQLDEC ]
:lAllowsNull := aFields[ nFor, SQL_INFO_NULLABLE ]
// AAdd( aStruct, { cField, :cType, :nLen, :nDec } )
AAdd( aStruct, { cField, :cType, max(:nLen,:nSQLLen),
max(:nDec,:nSQLDec) } )
END WITH
NEXT
DbCreate(.....