You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET导出SQL Server Varbinary数据时出现冗余字符问题

解决VB.NET导出Varbinary数据时出现冗余字符的问题

问题根源在于你使用了BinaryFormatter.Serialize方法——这个方法是用来序列化.NET对象的,它会在原始二进制数据前后添加额外的对象元数据(比如类型标识、结构描述信息),这就是你看到的冗余字符。而T-SQL脚本是直接将Varbinary字段的原始二进制内容写入文件,因此没有这些多余信息。

修改后的VB.NET代码直接提取原始二进制数据,无需经过序列化步骤:

' 从DataRow中直接提取Varbinary数据并转为字节数组
Dim binaryData As Byte() = DirectCast(aRow("VarBinaryData"), Byte())
' 将原始二进制数据写入文件
File.WriteAllBytes("C:\Temp\NG Annotation\" & aRow("page_id").ToString() & ".art", binaryData)

说明:

  • SQL Server的Varbinary字段返回的数据本身就是Byte()类型,直接通过DirectCast转换即可拿到原始二进制内容
  • 跳过BinaryFormatter序列化步骤,避免了额外元数据的生成,导出的文件就会和T-SQL脚本导出的完全一致

内容的提问来源于stack exchange,提问作者Peter Sun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:22:38