varbinary(max)捕获和存储OLE映像

问题描述:

我支持具有SQL Server后端和Access前端的应用程序。签名图像存储在SQL Server的Users表中的一个表中的varbinary(max)列中。此字段中的值显示在各种Access报告中。
定期向系统添加新用户。我没有成功找到以编程方式执行此任务的方法。无论我如何将图像加载到SQL中的字段中,它都不会显示在Access报告中。我必须执行以下步骤来加载图像并正确显示:
1.打开文档。
2.将签名复制到剪贴板。
3.打开Word。
4.将签名粘贴到Word中。
5.将签名从Word复制到剪贴板。
6.开放存取。打开链接的用户表。
7.粘贴到OLE签名字段中。
8.更新记录。
我怀疑魔术是从Word到剪贴板的图像的副本,它以某种方式创建某种复制到剪贴板的OLE对象,然后能够通过通过粘贴到varbinary(max)字段访问。
任何人都可以通过编程(C#,Access或?)将图像加载到Access可以显示为图像的varbinary(max)字段中了解任何人吗?我想创建一个最终用户可以用来上传签名图像的应用程序。varbinary(max)捕获和存储OLE映像

+0

*只有*持久性的二进制流的读/写与数据库相关 - 只要成功完成该问题(或任务)在别处。此外,对于SQL Server检出FILESTREAM类型。 – user2864740 2014-08-28 04:58:42

+0

对,我可以将数据加载到表中的列。我相信这个问题是图像需要是一个OLE对象,无论是我能够从Word文档复制并粘贴到Access链接表中的字段。 – 2014-08-28 16:05:44

How do I display an image from Sql Server with Microsoft Access?

当OLE字段绑定到的形式的“绑定OLE控制”,以及文件被粘贴到的控制下,文件被存储在二进制特定接入-OLE包装。 控件在显示文件/图像时也期望包装器,但如果文件被保存到代码而不是粘贴的表中,则包装器不在那里。

使用未绑定的控件绕过这个问题,因为这些控件不需要OLE包装。