Moin!
Ich lese aus einer Datenbank (MySQL) einen BLOB aus und speichere diesen als Datei.
(Code ist nur ein Ausschnitt)
Das klappt soweit gut. Im erzeugten GZ Archiv befindet sich eine Datei mit dem name test (wie das Archiv, ohne Endung, das ist so in Ordnung, die Datei kann ich auch öffnen, alles paletti). Jetzt könnte ich das Archiv entpacken und dann das File als Text auslesen. Aber ich möchte das, was
als byte() ausgibt gern direkt an GZipStream übergeben und dann im Endeffekt den Inhalt des Files als String haben, ohne jemals das Filesystem berührt zu haben.
Ist das möglich und wenn ja, wie? Ich stehe da wohl auf dem Schlauch....
Ich lese aus einer Datenbank (MySQL) einen BLOB aus und speichere diesen als Datei.
VB.NET-Quellcode
- Dim cmd As New MySqlCommand
- Dim commandstring As String = "SELECT `Data` FROM `" + table + "` WHERE `Name` LIKE '" + name + "'"
- Dim rdr As MySqlDataReader
- With cmd
- .Connection = mysqlconnection
- .CommandText = commandstring
- rdr = .ExecuteReader()
- While rdr.Read
- If rdr.HasRows Then
- My.Computer.FileSystem.WriteAllBytes("C:\Users\z00391uv.AD001\Desktop\TestOrdner\test.gz", rdr(0), False)
- End If
- End While
- rdr.Dispose()
(Code ist nur ein Ausschnitt)
Das klappt soweit gut. Im erzeugten GZ Archiv befindet sich eine Datei mit dem name test (wie das Archiv, ohne Endung, das ist so in Ordnung, die Datei kann ich auch öffnen, alles paletti). Jetzt könnte ich das Archiv entpacken und dann das File als Text auslesen. Aber ich möchte das, was
als byte() ausgibt gern direkt an GZipStream übergeben und dann im Endeffekt den Inhalt des Files als String haben, ohne jemals das Filesystem berührt zu haben.
Ist das möglich und wenn ja, wie? Ich stehe da wohl auf dem Schlauch....