使用Java通过MS访问文件系统来写入/读取OLE对象

时间:2018-09-15 14:53:19

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

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

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

1 个答案:

答案 0 :(得分:1)

在Java中使用OLE和通过Java从MS Access数据库中获取OLE对象之间有很大的区别。

通常,通过适当的ODBC驱动程序(与Java无关)访问MSAccess。ODBC不直接支持OLE对象。至少在我记得或找不到的地方。

因此,人们所要做的就是精确地将OLE转换为二进制,然后通过对其进行操作来获取确切的信息。换句话说,提取的二进制文件包含图像和其他信息。在二进制数据成为实际图像之前,其他信息已被删除。

以下提供了一些信息。

Extract OLE Object from Access DB

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