Udostępnij za pośrednictwem


Liczba bloków BLOB i obiekty OLE

The SQL Server Native Client OLE DB provider exposes the ISequentialStream interface to support consumer access to SQL Server ntext, text, image, varchar(max), nvarchar(max), varbinary(max), and xml data types as binary large objects (BLOBs).Odczytu metoda na ISequentialStream pozwala pobierać dużo danych w zarządzaniu fragmentów konsumenta.

Na przykład demonstrujący tej funkcji Zobacz przykładowe OLE BD ustawienie dużej danych dostępnych w witrynie CodePlex; zobacz SQL ServerPrzykładowe aparat bazy danych więcej informacji.

SQL Server Macierzystego klienta dostawca OLE DB można użyć konsumenta wdrożone IStorage interfejs gdy konsument zawiera wskaźnik interfejsu w metoda dostępu przypisany do modyfikacji danych.

Dla typów danych dużą wartość SQL Server macierzystego klienta dostawca OLE DB sprawdza typ rozmiar założeń w IRowset i interfejsy DDL.kolumna z varchar, nvarchar, i varbinary danych typów maksymalny rozmiar zestaw do nieograniczonej będzie reprezentowana jako ISLONG za pomocą zestawów wierszy schematu i interfejsy zwracanie typów danych kolumn.

SQL Server Udostępnia macierzystym klienta dostawca OLE DB varchar(max), varbinary(max) i nvarchar(max) typy odpowiednio jako typem DBTYPE_STR, DBTYPE_BYTES i DBTYPE_WSTR.

Aby pracować z tych typów aplikacji ma następujące opcje:

  • Powiązanie jako typ (typem DBTYPE_STR, DBTYPE_BYTES, DBTYPE_WSTR).Jeśli bufor nie jest duży wystarczająco obcinania wystąpi, dokładnie dla tych typów w poprzednich wersjach (chociaż dostępne są większe wartości).

  • Powiązanie jako typ, a także określić typ DBTYPE_BYREF.

  • Powiązanie jako DBTYPE_IUNKNOWN i użyć przesyłania strumieniowego.

Jeśli używany jest związany z DBTYPE_IUNKNOWN, ISequentialStream funkcjonalność strumienia. SQL Server Macierzystego klient dostawca OLE DB obsługuje powiązanie parametry wyjściowe jako DBTYPE_IUNKNOWN dla typów danych dużą wartość dla ułatwienia scenariuszy, w przypadku gdy procedura składowana zwraca te typy danych jako wartości zwracane, które będą udostępniane jako DBTYPE_IUNKNOWN do klient.

Ograniczenia obiektów składowania

  • SQL Server Macierzystego klienta dostawca OLE DB może obsługiwać tylko obiekt pojedynczego otworzyć magazynu.Próbuje otworzyć więcej niż jeden obiekt magazynu (Aby uzyskać więcej niż jedno odwołanie ISequentialStream wskaźnika interfejs) zwracają DBSTATUS_E_CANTCREATE.

  • W SQL Server macierzystego klienta dostawca OLE DB, wartość domyślna właściwość tylko do odczytu DBPROP_BLOCKINGSTORAGEOBJECTS jest VARIANT_TRUE.Oznacza to, że jeśli obiekt magazynu jest aktywne, niektóre metody (innych niż te obiekty składowania) zakończy się niepowodzeniem z E_UNEXPECTED.

  • Długość danych przedstawionych przez obiekt implementowane przez konsumenta magazynu musi podawane do SQL Server macierzystego klienta dostawca OLE DB przy tworzeniu metoda dostępu wiersza, która odwołuje się do obiektu składowania.Konsument musi powiązania wskaźnik długość w strukturze DBBINDING, używane do tworzenia metoda dostępu.

  • Jeśli wiersz zawiera więcej niż wartość pojedynczego dużego danych i DBPROP_ACCESSORDER nie jest DBPROPVAL_AO_RANDOM, konsument musi Użyj SQL Server macierzystego klienta OLE DB dostawca obsługiwane kursor zestaw wierszy do pobierania danych wiersza lub przetworzyć wszystkie wartości danych przed pobraniem innych wartooci wiersza.Jeśli DBPROP_ACCESSORDER jest DBPROPVAL_AO_RANDOM, SQL Server macierzystego klienta dostawca OLE DB buforuje wszystkich typów danych xml jako duże obiekty binarne (bloków BLOB) tak, aby możliwy w dowolnej kolejności.