在播客 #59 之后,我一直在考虑将一些图像从 MS Access DB 移动到 MS SQL Server(这是我唯一尚未迁移的部分)。现在它们作为 OLE 对象存储在 MS Access DB 中。
但是,我不知道它们应该以什么数据类型存储在 SQL Server 端,或者如何通过接口插入它们(MS Access via ODBC)。
在播客 #59 之后,我一直在考虑将一些图像从 MS Access DB 移动到 MS SQL Server(这是我唯一尚未迁移的部分)。现在它们作为 OLE 对象存储在 MS Access DB 中。
但是,我不知道它们应该以什么数据类型存储在 SQL Server 端,或者如何通过接口插入它们(MS Access via ODBC)。
我会使用图像类型,并且不会使用 Access 来传输它们。我会使用 Sql Server 导入和导出向导来做到这一点。为此,请在 Sql Server Management Studio 中右键单击要导入的数据库,选择“任务”,然后选择“导入数据”。
MS SQL Server 中有几个 BLOB 类型的字段用于存储二进制数据 - 但其中一些有大小限制。
如果您使用 SQL 2005 或更高版本,最好的选择是 varbinary(MAX)。它可以存储非常大的数据片段。
请注意,将图片保存为 OLE 格式会在将来给您带来很多问题。当您继续前进时,请考虑将您的图像转换为常用的图形文件(如 JPG)。节省SQL Server资源,提高Access显示速度。
我建议看看 AccessImagine ( http://access.bukrek.net ),它可以帮助你避免很多关于图像的麻烦。看看视频吧。
您可以尝试比较 em,这可能会很有趣,因为 AccessImagine 是较新的。
我们使用来自 Ammara 的 DBPix,www.Ammara.com已有 5 到 6 年的时间来处理捕获和显示。非常易于使用的 ActiveX 控件,其文档中有完整的示例代码,而且价格实惠。
我们的团队优先将图像存储在磁盘上,并通过将它们的位置存储在 varchar 中来引用它们,但是控件将处理这两种方法。