簡體   English   中英

SQL Server 2012 中的照片作為 Varbinary(MAX) 導致 Access 2010 中的錯誤 502753

[英]Photos as Varbinary(MAX) in SQL Server 2012 causes error 502753 in Access 2010

我有一個帶有 SQL Server 2012 后端的 Access 2010 odbc 前端。 我的圖像( .bmp )存儲為Varbinary(Max) 當我在 Access 表單中使用綁定的對象框架插入圖像時,該圖像會完美地顯示在表單和報告中。 我有大量的圖片要帶入 SQL,所以我在 SQL Server Management Studio 中使用了以下代碼:

UPDATE dbo.Photos_Observations 
SET [Photo] = (SELECT BulkColumn 
FROM Openrowset( Bulk '\\serverIP\servername\020.BMP', Single_Blob) as MyImage) 
WHERE PhotoTableID =391

這很有效,所有 600 多張圖片現在都在 SQL Server 中。 但是我以這種方式添加的那些不會出現在我的 Access 表單或報告中。 當我單擊綁定對象框架時,出現錯誤號 502753“Microsoft Access 與 OLE 服務器或 ActiveX 控件通信時出現問題。”

為什么它以一種方式工作而不是另一種方式? 我怎樣才能讓圖像顯示?

看起來您使用 T-SQL 將原始二進制圖像數據直接從 BMP 文件批量插入到 VARBINARY 列中。 因此,這些圖像沒有在通過 Access 窗體上的綁定對象框架插入圖像時添加的“OLE 包裝器”。

有關自動插入“OLE 包裝”圖像的方法,請參閱我對相關問題的回答 (這有點笨重,但仍然比手工完成要好。)

另一種方法是使用圖像控件而不是綁定對象框架,並將圖像存儲為原始二進制數據而不是“OLE 包裝”對象。 這越來越成為處理存儲在數據庫本身中的圖像的首選方式。 (OLE 對象可能很麻煩,尤其是在使用 Access 以外的應用程序時。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM