Data Inspector

Read the value inside the cell

Open any cell as text, HTML, XML, JSON, an image or raw binary — useful the moment a column holds more than a number.

  • XML als formatierten Baum
  • JSON mit Syntax-Highlighting
  • Bilder als Bilder, nicht Bytes
  • $LIST, $LISTBUILD und Bitvektoren aus IRIS und Caché
  • Lange Strings vollständig, nicht abgeschnitten

Ein Zellenwert in einem Grid ist selten nur Text. Eine Spalte könnte ein XML-Dokument halten, ein JSON-Objekt, ein Base64-codiertes Bild oder einen binären Blob, der nur Sinn ergibt, wenn er als Struktur gerendert wird. Die meisten SQL-Clients zeigen diese Werte als undifferenzierte Strings — vierzig Zeilen XML werden zu einer einzigen Zeile von undifferenzierten Zeichen — und das ist eine verpasste Gelegenheit. Wenn die Daten eine Struktur haben, sollte die Struktur sichtbar sein.

Der Zelldaten-Viewer öffnet sich, wenn man auf eine Zelle in einem Grid doppelklickt. Er erkennt den Datentyp und rendert den Wert in der am besten lesbaren Form: XML als formatierten Baum, JSON mit Syntax-Highlighting, Bilder als Vorschauen, $LIST als dekodierte Feldliste. Lange Strings werden vollständig angezeigt, nicht abgeschnitten, und Text ist durchsuchbar und kopierbar.

Data Inspector Dialog zeigt ein XML-Dokument als formatierten Baum mit Syntax-Highlighting, der obere Bereich zeigt den formatierten XML-Text, der untere Bereich zeigt die Rohbytes
XML als Baum, nicht als undifferenzierter String.

XML als formatierten Baum

Wenn eine Zelle XML hält, rendert der Viewer es als eingerückten Baum mit Syntax-Highlighting. Tags, Attribute, Texte und Kommentare sind farbcodiert, und die Einrückung macht die Struktur lesbar. Das ist dieselbe Darstellung, die man in einem Browser-Devtools-Panel sieht, nicht die Einzeilen-Darstellung, die ein Standard-Grid zeigt.

Der Viewer verifiziert nicht, dass das XML wohlgeformt ist, bevor er es rendert — er zeigt, was da ist, auch wenn es ungültig ist. Wenn der String kein gültiges XML ist, wird er als Text gezeigt, mit einer Notiz, dass das Format nicht erkannt werden konnte.

JSON mit Syntax-Highlighting

JSON-Werte werden mit Syntax-Highlighting gerendert — Schlüssel, Strings, Zahlen, Booleans und Nullen farblich unterschieden — und der Text wird eingerückt, sodass verschachtelte Objekte sichtbar sind. Das ist die gleiche Behandlung wie XML: Die Daten werden als Struktur gerendert, nicht als String.

JSON ist ein übliches Format für Konfigurations-Blobs, API-Antworten und Metadaten, die in Zeilen gespeichert sind, also taucht es regelmäßig in Datenbanken auf, die nicht dedizierte JSON-Typen haben. Der Viewer macht es lesbar, ohne es zuerst in eine Datei zu exportieren und in einem separaten Tool zu öffnen.

Data Inspector Dialog zeigt ein JSON-Objekt mit Syntax-Highlighting, Schlüssel in Blau, Strings in Grün, Zahlen in Rot, die Struktur eingerückt
JSON-Strukturen mit Highlighting, nicht flach.

Bilder als Bilder

Wenn eine Zelle ein Bild als binären Blob oder Base64-codierte Zeichenkette hält, rendert der Viewer es als Vorschau. Unterstützte Formate sind PNG, JPEG, GIF und BMP. Das ist nützlich für Tabellen, die Produkt-Thumbnails, Benutzer-Avatare oder gescannte Dokumente speichern — man kann sofort sehen, was das Bild zeigt, ohne es in eine Datei zu exportieren und in einem Bildbetrachtungsprogramm zu öffnen.

Die Vorschau ist skaliert, um in den Viewer zu passen, aber die Originalgröße wird angezeigt, und das Bild kann in die Zwischenablage kopiert oder als Datei exportiert werden. Das ist der schnellste Weg, ein Bild aus einer Datenbank zu extrahieren, ohne SQL zu schreiben, um es zu exportieren.

$LIST und $LISTBUILD aus IRIS und Caché

IRIS und Caché speichern strukturierte Daten oft in $LIST-Format, einer binären Darstellung, die mehrere Werte in einem einzigen String packt. Direkt angeschaut ist ein $LIST undifferenziert — eine Folge von nicht druckbaren Bytes mit gelegentlich erkennbaren Strings darin.

Der Data Inspector dekodiert $LIST und zeigt jedes Element als separate, nummerierte Zeile, sodass man sehen kann, welcher Wert in welcher Position sitzt. Das ist dieselbe Dekodierung, die der Global Browser durchführt, hier auf jeden Zellenwert angewendet, der wie $LISTBUILD aussieht.

Die Dekodierung ist heuristisch — der Viewer erkennt die Byte-Sequenz, die $LISTBUILD ausmacht, und wenn der Wert diesem Muster entspricht, wird er als Liste gerendert. Wenn es kein $LIST ist, wird er als Rohtext oder Hex gezeigt.

Data Inspector Dialog zeigt einen $LIST-Wert als nummerierte Feldliste, jedes Element in einer separaten Zeile mit seiner Position und seinem dekodierten Wert
$LIST in lesbare Felder aufgelöst.

Bitvektoren als 0/1-Darstellung

IRIS und Caché verwenden Bitstring-Typen für Bitmap-Indizes und kompakte Flags. Direkt gelesen ist ein Bitstring binär, also zeigt der Viewer ihn als Sequenz von Nullen und Einsen, gruppiert in Bytes. Das ist nicht die häufigste Datenstruktur, aber wenn man sie sieht, ist es besser, sie als Bits zu sehen als als undifferenzierte Hex.

Lange Strings vollständig

Grids schneiden Zellenwerte nach einer bestimmten Anzahl von Zeichen ab, weil das Rendern eines vierzehntausend Zeichen langen Strings in einer Zelle das Grid unbenutzbar macht. Das ist die richtige Entscheidung für die Grid-Ansicht, aber es bedeutet, dass lange Werte nicht vollständig lesbar sind, ohne eine separate Ansicht zu öffnen.

Der Data Inspector zeigt den gesamten Wert, wie lang er auch sein mag, in einem scrollbaren Textfeld. Das ist der Anwendungsfall: eine Log-Nachricht, die zweihundert Zeilen lang ist, ein Stack Trace, der im Grid abgeschnitten ist, oder ein Konfigurations-Blob, der zu groß ist, um in eine Zelle zu passen.

Hex-Dump für binäre Daten

Wenn ein Wert binär ist und das Tool nicht weiß, wie man ihn als Struktur rendert, zeigt es einen Hex-Dump: die Bytes in Hex-Form, mit ASCII-Darstellung daneben. Das ist die Standardanzeige für jeden Blob, der nicht als Bild, XML, JSON oder $LIST erkannt wird.

Es ist nicht die lesbarste Darstellung, aber es ist besser als nichts, und es ist genau das, was man sehen möchte, wenn man einen Binärwert untersucht, der nicht einem bekannten Format entspricht.

Export und DataDock

Ab Version 30.19 Februar 2024 können alle Daten, die im Data Inspector angezeigt werden, als Datei exportiert werden (Speichern als…), wodurch die Tabellendaten zum Dateisystem der Desktops exportiert werden — zum Bearbeiten, Vergleichen oder Archivieren außerhalb der Datenbank, ohne SQL zu schreiben, um den Export durchzuführen. Das ist die schnellste Möglichkeit, ein Dokument oder Bild aus einer Zeile zu extrahieren.

Der Zelldaten-Viewer ist in jeder Edition verfügbar, einschließlich der Free Edition. Laden Sie SQL DATA LENS herunter und doppelklicken Sie auf eine Zelle, um zu sehen, was wirklich darin ist, nicht nur die ersten hundert Zeichen.

See your IRIS data the way it actually is

Download, unzip, connect. Your first namespace is on screen in about three minutes.

Windows 10, 11 and Windows Server (64-bit) · ~140 MB · version 3.24 · full 30-day Pro trial included