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