我正在尝试从 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,而无需将其保存在文件中,然后将其转换为数据表。多谢你们。:)