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