4D Objektfelder mit SQL Engine lesen

Automatisch übersetzt von Deepl

Ein 4D Objektfeld ist ein persistenter Datenbankfeldtyp, der als binärer Inhalt gespeichert wird. Bisher war es nicht möglich, diese Art von Feldern mit einem ODBC-Treiber zu lesen. Bis heute.

Vorher wurde beim Versuch, ein Objektfeld zu lesen, ein Fehler zurückgegeben. Dies verhinderte die Ausführung von einfachen Select * from myTable-Anfragen , was für Benutzer, die nur den Inhalt einer Tabelle durchsuchen wollten, frustrierend sein konnte.

Gute Nachrichten! Die SQL-Engine wurde aktualisiert, um das Lesen von 4D-Objektfeldern zu ermöglichen.

Aktualisierte SQL-Engine

Mit der aktualisierten SQL-Engine und dem ODBC-Treiber wird beim Lesen eines Objektfeldes nicht mehr ein Fehler zurückgegeben, sondern das Feld wird als binärer Inhalt zurückgegeben.

SQL CAST Funktion auf 4D Objektfeld

Um den Inhalt eines Objektfeldes zu durchsuchen, wurde die SQL CAST Funktion so erweitert, dass sie eine JSON-Darstellung zurückgibt (sofern das Objekt im JSON-Format angezeigt werden kann ).

Jetzt können Sie sich zurücklehnen und mit Select * from myTable den gesamten Inhalt Ihrer Datenbank überprüfen … aus 4D, Excel oder Crystal Reports!

Beispiel:

Die folgende Abfrage kann nun ausgeführt werden:

SELECT Personen.Name, CAST (Personen.Adresse as VARCHAR) FROM Personen

Und hier ist das Ergebnis mit MS Query:

Lesen eines Objektfeldes mit SQL in 4D

Sie können auch ein Objektfeld in einer C_OBJECT-Variablen lesen.

Beispiel:

C_OBJECT($obj)
Begin SQL
SELECT address FROM Persons WHERE name = 'Smith' into:$obj;
End SQL

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.