Lire les champs des objets 4D avec SQL Engine

Traduit automatiquement de Deepl

Un champ d’objet 4D est un type de champ de base de données persistant, stocké sous forme de contenu binaire. Auparavant, la lecture de ce type de champ par un pilote ODBC n’était pas possible. Jusqu’à aujourd’hui.

Auparavant, une erreur était renvoyée lors de la tentative de lecture d’un champ objet. Cela empêchait l’exécution de simples requêtes Select * from myTable , ce qui pouvait être frustrant pour les utilisateurs qui voulaient seulement parcourir le contenu d’une table.

Bonne nouvelle ! Le moteur SQL a été mis à jour pour permettre la lecture des champs d’objets 4D.

Moteur SQL mis à jour

Avec le moteur SQL et le pilote ODBC mis à jour, au lieu de renvoyer une erreur lors de la lecture d’un champ d’objet, le champ est maintenant renvoyé sous forme de contenu binaire.

Fonction SQL CAST sur le champ objet 4D

Pour parcourir le contenu d’un champ objet, la fonction SQL CAST a été étendue pour retourner une représentation JSON de celui-ci (à condition que l’objet puisse être affiché au format JSON).

Vous pouvez maintenant vous asseoir et utiliser Select * from myTable pour vérifier tout le contenu de votre base de données… à partir de 4D, Excel ou Crystal Reports !

Exemple :

La requête ci-dessous peut maintenant être exécutée :

SELECT Persons.name, CAST (Persons.address as VARCHAR) FROM Persons

Et voici le résultat avec MS Query :

Lecture d’un champ objet en utilisant SQL dans 4D

Vous pouvez également lire un champ objet dans une variable C_OBJECT.

Exemple :

C_OBJECT($obj)
Begin SQL
SELECT adresse FROM Personnes WHERE nom = 'Smith'into:$obj;
End SQL

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert a rejoint l'équipe de 4D Product en tant que Product Owner en 2017. En tant que Product Owner, elle est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Marie-Sophie est diplômée de l'école d'ingénieur ESIGELEC et a commencé sa carrière en tant qu'ingénieur chez IBM en 1995. Elle a participé à divers projets (projets de maintenance ou de construction) et a travaillé en tant que développeur Cobol. Elle a ensuite travaillé en tant que concepteur UML et développeur Java. Dernièrement, ses principaux rôles étaient d'analyser et de rédiger des exigences fonctionnelles, de coordonner les équipes commerciales et de développement.