用C#读取OLE对象

问题描述 投票:3回答:1

我有一个使用Visual Basic制作的旧应用程序,可以上载和下载文档作为OLE对象。将其检索到SQL Server数据库,该数据库将它们存储在varbinary(max)字段中。但是,这些bin与常规文件的格式不同,因为OLE以自己的方式构造它们。

我想用一个使用SQL的.NET C#应用程序大量下载所有这些文档,但我找不到办法。我试图使用SqlDataReaderMemoryStreamFileStream将二进制数据复制到一个新文件中,但是他们直接解释信息而不是OLE结构化的方式。因此,生成的文件已损坏。

是否有一个类可以正确解释这个OLE二进制文件?旧的应用程序使用了OLE容器组件,但它们几年后就不存在了。

c# .net sql-server binaryfiles ole
1个回答
0
投票

这是一篇从未得到回答的老帖子。我自己处于类似的情况,因为我需要拍摄图像并将它们转换为OLE文件,以便Microsoft Access OLE Bound Frames可以读取它们。我已经研究了几天,刚刚发现了我需要的二进制格式,即复合文件...或结构化文件。他们有这个Nuget包可以完成我们在这里需要的东西:OpenMCDF

我仍然在试图弄清楚如何从Raw Binary创建一个复合文件...但感觉我很接近并且在我得到它时会发布分辨率。

© www.soinside.com 2019 - 2024. All rights reserved.