Dukungan FILESTREAM (OLE DB)
Berlaku untuk: SQL Server
Penting
SQL Server Native Client (sering disingkat SNAC) telah dihapus dari SQL Server 2022 (16.x) dan SQL Server Management Studio 19 (SSMS). Penyedia SQL Server Native Client OLE DB (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan baru. Beralih ke Microsoft OLE DB Driver (MSOLEDBSQL) baru untuk SQL Server ke depannya.
Dimulai dengan SQL Server 2008 (10.0.x) dan SQL Server Native Client 10.0, OLE DB mendukung fitur FILESTREAM yang ditingkatkan. Untuk informasi selengkapnya tentang fitur ini, lihat Dukungan FILESTREAM. Untuk sampel, lihat Filestream dan OLE DB.
Untuk mengirim dan menerima nilai varbinary(max) yang lebih besar dari 2 GB, aplikasi menggunakan DBTYPE_IUNKNOWN dalam parameter dan pengikatan hasil. Untuk parameter, penyedia harus memanggil IUnknown::QueryInterface untuk ISequentialStream dan untuk hasil yang mengembalikan ISequentialStream.
Untuk OLE DB, pemeriksaan yang terkait dengan nilai ISequentialStream akan dilonggarkan. Ketika wType DBTYPE_IUNKNOWN dalam struktur DBBINDING, pemeriksaan panjang dapat dinonaktifkan baik dengan menghilangkan DBPART_LENGTH dari dwPart atau dengan mengatur panjang data (pada obLength offset di buffer data) ke ~0. Dalam hal ini, penyedia tidak akan memeriksa panjang nilai dan akan meminta dan mengembalikan semua data yang tersedia melalui aliran. Perubahan ini akan diterapkan ke semua jenis objek besar (LOB) dan XML, tetapi hanya ketika terhubung ke server SQL Server 2005 (9.x) (atau yang lebih baru). Ini akan memberikan fleksibilitas yang lebih besar bagi pengembang, sambil mempertahankan konsistensi dan kompatibilitas mundur untuk aplikasi yang ada dan server downlevel.
Perubahan ini memengaruhi semua antarmuka yang mentransfer data, terutama IRowset::GetData, ICommand::Execute, dan IRowsetFastLoad::InsertRow.