Binary Daten in SQL, welche Art Medium

Friede, Freunde, Friede!!

Es ist von dem sogenannten Header geschrieben worden. Aber mir ist nicht klar, wo man den finden und eventuell auslesen kann. Im SSMS findet man dazu bspw. nichts. Da wird beim Anzeigen der Datentabelle im Binärfeld nur angezeigt <Binärdaten>, sozusagen als Mitteilung.

Verwendet man die Datentabelle mittels DataGridView, werden Images gut dargestellt, Audiodaten werden wirklich als Binär- String angezeigt (die kann ich auch via DoubleClick auf den Cell-Inhalt abspielen).

Leider leistet das SSMS nichts Genaueres - oder hat da jemand interne Kenntnisse. Ich wollte eben sehr gern aus dem SSMS herausholen, die unter <Binärdaten> hinterlegten Daten...

Grüße - Dietrich
 
Werbung:
Friede, Freunde, Friede!!

Es ist von dem sogenannten Header geschrieben worden. Aber mir ist nicht klar, wo man den finden und eventuell auslesen kann. Im SSMS findet man dazu bspw. nichts. Da wird beim Anzeigen der Datentabelle im Binärfeld nur angezeigt <Binärdaten>, sozusagen als Mitteilung.

Verwendet man die Datentabelle mittels DataGridView, werden Images gut dargestellt, Audiodaten werden wirklich als Binär- String angezeigt (die kann ich auch via DoubleClick auf den Cell-Inhalt abspielen).

Leider leistet das SSMS nichts Genaueres - oder hat da jemand interne Kenntnisse. Ich wollte eben sehr gern aus dem SSMS herausholen, die unter <Binärdaten> hinterlegten Daten...

Grüße - Dietrich
Hallo Dietrich, das SSMS ist dafür das völlig falsche Tool. Allerdings kannste natürlich die Binärdaten mit einem select anzeigen lassen. Das mit dem <Binärdaten> kenne ich so nicht im SSMS. Bei mir werden bei einem varbinary immer die Daten mit angezeigt. Natürlich sieht man da aber nicht den Dateityp, wenn es denn Dateien sind. Aber es gibt genug Codebeipiele wie man Binary Daten raus dumpen kann.
 
Ich habe ja geschrieben, dass ich mit den Binärdaten in meinen Anwendungen gut umgehen kann - keine Probleme.
Ich habe mich nur beim Arbeiten mit SSMS ein wenig gewundert, dass da so lax und unpraktisch für den Nutzer mit diesem Datentyp umgegangen wird. Deshalb meine anfängliche Anfrage hier.
Übrigens gibt es im SSMS noch nicht einmal die Möglichkeit, Daten vom Typ nvarcharMax und text, wo die Daten eventuell sehr umfangreich sein können, nutzerfreundlich anzuzeigen (im SSMS selbst)...
Trotzdem DANKE an alle, die hier mit nach einer Lösung gesucht haben.
Grüße - Dietrich
 
Leider leistet das SSMS nichts Genaueres - oder hat da jemand interne Kenntnisse. Ich wollte eben sehr gern aus dem SSMS herausholen, die unter <Binärdaten> hinterlegten Daten...
Binary Files können alles Mögliche sein, tausende Varianten. Nicht nur die zwei, die Du vorliegen hast.

Ich kenne mich mit SSMS nicht aus.

Das Prinzip zur Prüfung lautet (mangels der gesuchten SQL Funktion):
a Daten in das Filesystem extrahieren
b Datentyp mit dem Programm 'file' oder anderen geeigneten (Betriebssystem)Programmen aus der Datei auslesen
c Das Ergebnis zur Weiterverarbeitung nutzen oder zusätzlich in den Datensatz eintragen, damit es zukünftig sofort als Information genutzt werden kann

zu b
Gerade besonders große Binär-Dateien sind idR so aufgebaut, dass ihr Typ aus den ersten Bytes erkennbar ist (Header)
Daraus folgt, dass man für diesen Schritt nicht die gesamte Datei aus dem Datensatz entnehmen müsste, sondern nur diese paar Byte.

zu a
Ist die Datei noch gar nicht in der DB, sondern (noch/erstmal) im Filesystem, kann a natürlich wegfallen und Ressourcen sparend direkt b durchgeführt werden.

zu b "file"
Das Programm muss unter Windows separat installiert werden. Vielleicht gibt es Alternativen.

Luxuriöse Datenbank Tools beherrschen u.U. solche Analysen und die entsprechende Visualisierung, vermutlich eine Kostenfrage.
 
Ich habe ja geschrieben, dass ich mit den Binärdaten in meinen Anwendungen gut umgehen kann - keine Probleme.
Ich habe mich nur beim Arbeiten mit SSMS ein wenig gewundert, dass da so lax und unpraktisch für den Nutzer mit diesem Datentyp umgegangen wird. Deshalb meine anfängliche Anfrage hier.
Übrigens gibt es im SSMS noch nicht einmal die Möglichkeit, Daten vom Typ nvarcharMax und text, wo die Daten eventuell sehr umfangreich sein können, nutzerfreundlich anzuzeigen (im SSMS selbst)...
Trotzdem DANKE an alle, die hier mit nach einer Lösung gesucht haben.
Grüße - Dietrich
Leider verstehst Du nicht wozu das SSMS da ist. 1. zur SQL Server Administration, 2. ist es kein Datenmanagement- bzw. Datenextraktionstool, 3. isses dazu da um T-SQL zu programmieren. Mehr nicht. Dazu gehört nicht Daten nutzerfreundlich anzuzeigen, was im übrigen sehr wohl für nvarchar und text geht. Schließlich werden die Daten auch angezeigt.
 
zu b
Gerade besonders große Binär-Dateien sind idR so aufgebaut, dass ihr Typ aus den ersten Bytes erkennbar ist (Header)
Daraus folgt, dass man für diesen Schritt nicht die gesamte Datei aus dem Datensatz entnehmen müsste, sondern nur diese paar Byte.

Luxuriöse Datenbank Tools beherrschen u.U. solche Analysen und die entsprechende Visualisierung, vermutlich eine Kostenfrage.
Die Größe hat nix mit dem Header zu tun. Entweder hat der Typ einen entsprechenden Header oder nicht. In der Regel haben alle Dateitypen das. Schließlich kann die Extension beliebig sein.
Luxuriöse Datenbank Tools sind auch keine DBMS Management Tools.
 
@t-sql: Nun, ich arbeite schon eine ganze Weile mit SQL und SSMS, das nur mal am Rande, etwas Verständnis habe ich da schon...
Wie die nutzerfreundliche Anzeige für nvarchar und text geht - bitte, gib mir da mal einen Tipp. Und bitte, wie kann man den Header, diese paar Byte, finden, im Binärcode selbst, und wie lang wäre der dann?
 

Du kannst mit einem Hex Editor einfach mal eine jpeg, ein bmp, ein wav, ein mp3,... aufmachen und den Anfang anschauen.

Was ist denn das Ziel deiner DB? Vielleicht gibt es auch bessere Lösungen? Was passiert mit den Medien Daten?
 
Werbung:
Also mein CRM kann auch Dateien in der DB ablegen (unser DMS legt die aufs Dateisystem). Dazu gehört, das das CRM Spalten für Dateiendung, Name und bei Bedarf auch Größe etc. anlegt. Ich denke mal der Ansatz ist klar: Das Auslesen dieser Information ist mit Aufwand verbunden also lege ich die Information zusätzlich ab und kann dann leichter damit arbeiten.
 
Zurück
Oben