SQL から VARBINARY 列を取得し、バイナリ データを XML に変換しようとしています。データを簡単に取得して XML に変換することもできますが、最近、変換された XML ファイルの最後の数文字が切り捨てられ始めました。以下、コードと説明です。
これは、バイナリ データを取得する方法です。
Dim binaryData As Byte()
sqlData.Open()
binaryCMD.CommandText = "select photo from dbo.testing_filestream where clientName = '" & clientSelected1 & "' and date = '" & minimumDate & "'"
binaryCMD.CommandType = CommandType.Text
binaryCMD.Connection = sqlData
binaryData = binaryCMD.ExecuteScalar
次に、それを MemoryStream に変換します。
Dim xmlStream As New IO.MemoryStream(binaryData)
xmlStream.Seek(0, 0)
次に、それを解凍します (圧縮モードだったため)。
Dim out_fs = New FileStream(XMLdataReader, FileMode.OpenOrCreate, FileAccess.Write)
Dim unZip As DeflateStream = New DeflateStream(xmlStream, CompressionMode.Decompress)
unZip.CopyTo(out_fs)
unZip.Close()
out_fs.Close()
ただし、xml ファイルの最後の数文字が切り捨てられます。(XMLdataReader は、ファイル名を含む単なる文字列です)。以下は切り捨てられた結果です。そのXMLをデータテーブルに変換したいので、完成させたいです。
</DocumentEle
Whereas, it should give this in the format of
</DocumentElement>
よろしくお願いします。私はこれを何度もグーグルで検索しましたが、サークルに参加しているだけだと確信できるまで質問はしません。これとは別に、ファイルに保存してからデータテーブルに変換することなく、この解凍されたバイナリ データを XML に変換できる方法はありますか。みんなありがとう。:)