首页 > 解决方案 > 使用 Java 从 MS Access 向文件系统写入/读取 OLE 对象

问题描述

我有一个带有 Java 7 的桌面应用程序,用户可以在其中填写数据并使用文件选择器选择图片(仅 .jpg 格式)并将其插入 MS Access 数据库(.accdb)。应用管理员可以将上个月插入的所有数据导出为 .csv 文件,图片应以 .jpg 文件存储在文件夹中。

我连接到 MS Access 数据库并成功读写数据,但没有图片,所以问题是:
- 如何将 MS Access 中文件系统中的图片存储为 OLE 对象
- 如何从 OLE 对象列中导出图片到文件系统(作为 .jpg 文件)

标签: ms-access-2010java-7createoleobject

解决方案


在 Java 中使用 OLE 与通过 Java 从 MS Access 数据库中获取 OLE 对象之间存在很大差异。

通常,MS Access 是通过适当的 ODBC 驱动程序(与 java 无关)访问的。而且 ODBC 不直接支持 OLE 对象。至少不是我记得的,也不是我能找到的。

因此,必须做的正是二进制中的 OLE,然后通过操纵它从中获得准确的信息。换句话说,提取的二进制文件包含图像和其他信息。在二进制数据成为实际图像之前,其他信息被删除。

以下提供了一些信息。

从 Access DB 中提取 OLE 对象

在尝试操作图像之前,您必须测试以下内容。1. 编写代码以从对象中提取图像。2. 将二进制数据写入文件。3. 使用适当的外部应用程序加载文件并确保格式正确。4. 对所有已知变体重复上述步骤 显示 OLE 对象


推荐阅读