文章編號: 190958 - 上次校閱: 2005年3月2日 - 版次: 2.4 範例: AOTBLOB 讀取/寫入 BLOB 使用 OLE DB 消費者樣板
在此頁中結論AOTBLOB 範例示範讀取和寫入長二進位資料 (BLOB) 欄位使用 ATL OLE DB 消費者樣板類別。這個範例包含程式碼載入,並將點陣圖檔儲存和載入並將點陣圖影像儲存至資料庫表格。 本範例也示範如何提示使用者選取資料來源使用 Microsoft 資料連結] 對話方塊,以做為瀏覽相同的方式連接到 ODBC 中。 注意: 的範例自動建立名為 BLOB1234 目標資料來源上插入和擷取 BLOB 欄位的資料表。 範例程式碼已用下列的 OLE DB 提供者進行測試: Microsoft Jet 3.51 OLE DB 提供者 (Msjtor35.dll 3.52.1527.4) 範例也已測試的下列 ODBC 驅動程式透過 Microsoft OLE DB 提供者存取的 ODBC 驅動程式: Oracle (Msdaora.dll 02.00.3002.15) 的 Microsoft OLE DB 提供者 SQL Server (Sqloledb.dll 07.00.0502) 的 Microsoft OLE DB 提供者 ODBC 驅動程式 (Msdasql.dll 02.00.3002.11) 的 Microsoft OLE DB 提供者 驅動 Microsoft SQL Server ODBC 程式 (Sqlsrv32.dll 3.60.0319)。 Oracle (Msora32.dll 2.573.292700) 的 [Microsoft ODBC 驅動程式]。 Microsoft Access 驅動程式 (Odbcjt32.dll 3.51.1713) 其他相關資訊從 「 Microsoft 下載中心 」 下載下列檔案有: Aotblob.exe (http://download.microsoft.com/download/vc60ent/sample3/1/win98/en-us/aotblob.exe) 如需有關如何下載 Microsoft 支援檔案的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]: 119591?
(http://support.microsoft.com/kb/119591/EN-US/
)
如何從線上服務取得 Microsoft 支援檔案 Microsoft 已掃描這個檔案有無病毒。Microsoft 使用已張貼檔案的日期中的 [可用的最新病毒偵測軟體。檔案儲存在安全性強化的伺服器上,以避免任何未經授權的更改至檔案。 讀取 BLOB 資料使用 ATL OLE DB 消費者樣板ATL OLE DB 消費者樣板精靈建立一個功能完整讀取-唯一類別會讀取長二進位 (BLOB) 資料庫欄位。如果您想要寫入長二進位欄位,您必須讓精靈-產生類別的修改。在精靈產生 OLE DB 消費者類別,提供者會自動填入與目前的資料列的 ISequentialStream 指標任何 BLOB 欄位成員變數。從 [BLOB 欄位讀取資料,您呼叫 ISequentialStream 介面在迴圈中的讀取方法,直到沒有更多的資料由 OLE DB 提供者傳送。請注意大部份的提供者沒有提供的資料之前先讀取該資料,這樣您就必須建置以動態方式來存放資料,當您閱讀緩衝區的總長度。 寫入 BLOB 資料使用 ATL OLE DB 消費者樣板要寫入 BLOB 欄位,您必須釋放 ISequentialStream 指標由 OLE DB 提供者提供給您,並且取代您實作一個 ISequentialStream 指標。提供者接著會呼叫 ISequentialStream::Read 介面指標上直到傳回更多的位元組。此內容的一種方法會反轉消費者和提供者的角色。取用者提供 ISequentialStream] 指標,並提供者呼叫 ISequentialStream::Read。請注意,某些 OLE DB 提供者會要求您指出事先多少位元組是 BLOB 欄位中,當您撰寫 BLOB 資料。若要盡可能使用多個提供者,範例會提供長度資訊給在每一種情況下提供者。若要簡化讀取及寫入 BLOB 資料與 OLE DB,AOTBLOB 範例會有 Helper 類別,稱為 CISSHelper。CISSHelper 類別會實作整個 ISequentialStream 介面。類別也有用來儲存及擷取 BLOB 資料一個內建緩衝區。請注意 [CISSHelper 不會終結本身時其發行計數會降到零類似於一般的 COM 介面。AddRef 和發行會留在讓提供者可以呼叫它們,但是這個範例使用堆疊,配置物件,並依賴 C + + 解構函式,以清理物件。 您必須能夠寫入 BLOB 欄位修改 ATL OLE DB 消費者精靈產生的繫結巨集,並將欄位長度和狀態指示器的支援加入如下: 精靈產生的範本沒有額外的修改所需。 若要從使用一個修改過的 BLOB 欄位讀取 (長度和狀態加入) 消費者樣板類別,請依照下列這個基本公式:
這篇文章中的資訊適用於:
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:190958?
(http://support.microsoft.com/kb/190958/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群文章翻譯 |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


回此頁最上方