如何使用Microsoft Access从MySQL-Server显示图像

时间:2016-10-24 18:03:08

标签: mysql vba ms-access

我使用MS Access可视化MySQL数据库中的数据。来自MySQL的数据包含一些图像,这些图像应该以MS Access中的连续格式显示。 MySQL数据库中的图像存储在BLOB字段中。

我通过ODBC驱动程序在MS Access中链接了MySQL表,并且我能够在MS Access表中看到数据,但显示图像并不是一件容易的事。

我看到了这个并且它适用于单一表单,但据我所知它不能用于连续表单

还有一些vba代码片段,它们将BLOB转储到临时文件,然后表单引用文件路径:

我对此解决方案并不满意,因为图像的总大小约为500 MB,每次都可以下载和存储!

有人知道显示这些图像的好方法吗??

修改 我刚刚意识到图像(.bmp)可以以一种形式显示,如果它们被MS Access的导入功能插入到链接表中。因此,从MS Access创建的生成的二进制文件必须与我的图像不同,我用python将其上传到MySQL数据库,但我不知道如何。

非常感谢您的支持!

2 个答案:

答案 0 :(得分:0)

我最终将图像上传到GoogleDrive,而不是将它们作为BLOB存储在数据库中。 然后可以使用相对文件夹路径

轻松引用图像

答案 1 :(得分:-1)

MS Access是客户端数据库。这意味着每次运行查询时,它会将所有数据通过管道拉到本地PC,执行必要的操作,然后(如果需要)推送数据回到服务器。

在管道中抽取大量数据会导致应用程序中断。 Access可以处理文件的唯一方法就是它包含一个数据类型为“Attachment”的字段。您无法使用链接表执行此操作。

最有效的方法是使用带有图像网络路径的VarChar / Text字段。然后,您可以根据所述图像的路径将图像带入表单。如果确实想要使用嵌入式图像,则需要一个包含数据类型为“Attachment”的字段的表,以及某种类型的Key将其绑定到链接的MySQL表。

在这里查看更多信息: https://support.office.com/en-us/article/Attach-files-and-graphics-to-the-records-in-your-database-bced3638-bfbc-43f0-822d-374bca2e6b40