Un campo objeto 4D es un tipo de campo de base de datos persistente, almacenado como contenido binario. Anteriormente, la lectura de este tipo de campo por un controlador ODBC no era posible. Hasta hoy.
Antes, se devolvía un error al intentar leer un campo objeto. Esto impedía la realización de simples peticiones Select * from myTable , lo que podía ser frustrante para los usuarios que sólo querían navegar por el contenido de una tabla.
Buenas noticias. El motor SQL ha sido actualizado para permitir la lectura de los campos de objetos 4D.
Motor SQL actualizado
Con el motor SQL actualizado y el controlador ODBC, en lugar de devolver un error al leer un campo de objeto, el campo se devuelve ahora como contenido binario.
Función SQL CAST en el campo de objeto 4D
Para examinar el contenido de un campo de objeto, la función SQL CAST se ha ampliado para devolver una representación JSON del mismo (siempre que el objeto pueda mostrarse en formato JSON).
Ahora puede sentarse y disfrutar usando Select * from myTable para comprobar todo el contenido de su base de datos… ¡desde 4D, Excel o Crystal Reports!
Ejemplo:
La siguiente consulta puede ser ejecutada:
SELECT Personas.nombre, CAST (Personas.dirección como VARCHAR) FROM Personas
Y aquí está el resultado con MS Query:
Lectura de un campo de objeto usando SQL en 4D
También puede leer un campo de objeto en una variable C_OBJECT.
Ejemplo:
C_OBJECT($obj)
Begin SQL
SELECT dirección FROM Personas WHERE nombre = 'Smith' into:$obj;
End SQL