Makale numarası: 190958 - Son Gözden Geçirme: 02 Mart 2005 Çarşamba - Gözden geçirme: 2.4 Örnek: AOTBLOB okuma/yazma OLE DB Tüketici şablonu kullanarak bulunan BLOB SAYıSı
Bu SayfadaÖzetAOTBLOB örnek okuma ve ATL OLE DB Müşteri şablon sınıfları kullanılarak uzun ikili veri (BLOB) alanları yazma gösterir. Örnek yüklemek ve bir bit eşlem dosyasını kaydedin ve yüklenemedi ve bit eşlem görüntüsünü bir veritabanı tablosuna kaydetmek için bir kod içerir. Örnek de <a0>Microsoft veri bağlantısı</a0> iletişim kutusunu kullanarak bir veri kaynağı seçmek için bir gözatma aynı şekilde bir ODBC bağlantı gösterilmiştir. Not: Örnek otomatik olarak ekleme ve çıkarma BLOB alanın hedef veri kaynağı üzerinde BLOB1234 adlı bir tablo oluşturur. Örnek kod, aşağıdaki OLE DB sağlayıcıları ile sınanmıştır: Microsoft Jet 3.51 OLE DB Provider (Msjtor35.dll 3.52.1527.4) Örnek, aşağıdaki ODBC sürücüleri için Microsoft OLE DB sağlayıcı erişilen ODBC sürücüleri ile de sınanmıştır: <a1>Oracle</a1> (msdaora.dll 02.00.3002.15) için Microsoft OLE DB sağlayıcısı SQL Server (Sqloledb.dll 07.00.0502) için Microsoft OLE DB sağlayıcısı ODBC sürücüleri (msdasql.dll 02.00.3002.11) için Microsoft OLE DB sağlayıcısı Microsoft SQL Server ODBC sürücüsü (Sqlsrv32.dll 3.60.0319). Microsoft ODBC Driver for Oracle'ı (Msora32.dll 2.573.292700). Microsoft Access sürücüsü (Odbcjt32.dll 3.51.1713) Daha fazla bilgiAşağıdaki dosyalar Microsoft Yükleme Merkezi'nden yüklenebilir: Aotblob.exe (http://download.microsoft.com/download/vc60ent/sample3/1/win98/en-us/aotblob.exe) Microsoft destek dosyalarını karşıdan yükleme konusunda ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın: 119591
(http://support.microsoft.com/kb/119591/EN-US/
)
Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır. ATL OLE DB müşteri şablonları kullanarak BLOB veri okunuyorATL OLE DB Müşteri şablon sihirbazını bir uzun ikili (BLOB) veritabanı alanı okuyan bir tam işlevsel okunur-yalnızca sınıfı oluşturur. Uzun ikili alana yazmak isterseniz, Sihirbazı-üretilen sınıfın değişiklikler yapmanız gerekir.Sağlayıcı, bir sihirbaz tarafından oluşturulan OLE DB tüketici sınıfta, herhangi bir ISequentialStream işaretçi geçerli satırın BLOB alan üye değişkenlerine otomatik olarak doldurur. BLOB alanından veri okumak için <a0></a0>, daha fazla veri OLE DB sağlayıcı tarafından gönderilene kadar döngü ISequentialStream arabirimi <a1>Okuma</a1> yöntemini çağırın. Çoğu sağlayıcıları, okuduğunuz gibi verileri dinamik olarak tutmak için arabellek oluşturmalısınız; bu nedenle önce verileri okuma verilerin toplam uzunluğu ile sağlamanızı yoksa unutmayın. ATL OLE DB müşteri şablonları kullanarak BLOB veri yazmaBir BLOB alanına yazmak için OLE DB sağlayıcı tarafından sağlanan ISequentialStream işaretçiyi bırakın ve, uygulayan ISequentialStream işaretçisi ile değiştirilsin gerekir. Daha fazla baytı yok döndürülen kadar sağlayıcı arabirimi işaretçinizi sonra ISequentialStream::Read çağırır. Bu şekilde, sağlayıcı ve tüketici rolü tersine çevirir. Tüketici ISequentialStream işaretçi sağlar ve sağlayıcı ISequentialStream::Read çağırır. Belirli bir OLE DB sağlayıcıları BLOB verileri yazarken, BLOB alanında kaç bayt olan en fazla ön belirtmek gerektiğini unutmayın. Olabildiğince çok sağlayıcı ile çalışması için <a0></a0>, her durumda sağlayıcısına uzunluğu bilgileri örnek sağlar.Okuma ve yazma BLOB veri OLE DB ile basitleştirmek için <a0></a0>, CISSHelper adlı bir yardımcı sınıf AOTBLOB örnek vardır. CISSHelper sınıfı, tüm ISequentialStream arabirimini uygular. Sınıf, depolamak ve BLOB veri ayıklamak için kullanılan yerleşik bir arabellek de vardır. Serbest bırakma sayısı sıfır, tipik bir COM arabirimi için benzer düştüğünde CISSHelper kendisini zarar değil olduğunu unutmayın. AddRef ve Release, sağlayıcı arama, ancak bu örnek, nesneyi temizlemeye C++ yıkıcı dayanır ve nesne ayrılmış bir yığını kullanır; böylece bırakılır. Bir BLOB alana yazma izin vermek için <a0></a0>, ATL OLE DB tüketici Bağlama Sihirbazı tarafından oluşturulan makroyu değiştirmek ve desteği için bir alan uzunluğu ve durum göstergesi olarak aşağıdaki eklemeniz gerekir: Sihirbaz tarafından oluşturulan şablonlar için ek değişiklik yapılmaksızın gereklidir. Değiştirilmiş bir kullanarak BLOB alanından okunamıyor (uzunluğu ve eklenen durumu) Tüketici şablonu sınıfı, temel bu formülü izleyin:
Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:190958
(http://support.microsoft.com/kb/190958/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri |






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


Üste