Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Dostawca natywnej klientowej bazy danych SQL Server udostępnia interfejs ISequentialStream, aby wspierać dostęp użytkowników do typów danych SQL Server ntext, tekst, obraz,varchar(max),nvarchar(max),varbinary(max) oraz xml jako binarnych dużych obiektów (BLOB). Metoda Read na ISequentialStream pozwala użytkownikowi pobrać dużą ilość danych w zarządzalnych fragmentach.
Przykładową prezentację tej funkcji można znaleźć w Zestaw dużych danych (OLE DB).
Dostawca natywnego klienta OLE DB SQL Server może korzystać z interfejsu IStorage zaimplementowanego przez konsumenta, gdy konsument poda wskaźnik interfejsu w granicy accessora do modyfikacji danych.
Dla typów danych o dużej wartości, dostawca bazy danych SQL Server Native Client OLE DB sprawdza założenia dotyczące rozmiaru typu w interfejsach IRowset i DDL. Kolumny z typami danych varchar, nvarchar i varbinary z maksymalnym rozmiarem ustawionym na nieograniczony będą reprezentowane jako ISLONG przez zestawy wierszy schematu i interfejsy zwracające typy kolumn.
Dostawca OLE DB SQL Server Native Client udostępnia typy varchar(max),varbinary(max) i nvarchar(max) odpowiednio jako DBTYPE_STR, DBTYPE_BYTES i DBTYPE_WSTR.
Aby pracować z takimi typami, aplikacja ma następujące opcje:
Bind jako typ (DBTYPE_STR, DBTYPE_BYTES, DBTYPE_WSTR). Jeśli bufor nie jest wystarczająco duży, następuje obcięcie, dokładnie jak w przypadku tych typów w poprzednich wersjach (choć obecnie dostępne są większe wartości).
Przypisz jako typ i również określ DBTYPE_BYREF.
Przypisz jako DBTYPE_IUNKNOWN i użyj streamingu.
Jeśli jest to powiązane z DBTYPE_IUNKNOWN, wykorzystywana jest funkcjonalność strumienia ISequentialStream. Dostawca bazy danych SQL Server Native Client OLE obsługuje wiązanie parametrów wyjściowych DBTYPE_IUNKNOWN dla typów danych o dużych wartościach, aby ułatwić sytuacje, w których procedura przechowywana zwraca te typy danych jako wartości zwrotne, które będą udostępniane klientowi jako DBTYPE_IUNKNOWN.
Ograniczenia obiektów pamięci masowej
Dostawca natywnego klienta OLE DB SQL Server może obsługiwać tylko jeden otwarty obiekt pamięci masowej. Próby otwarcia więcej niż jednego obiektu pamięci masowej (aby uzyskać referencję do więcej niż jednego wskaźnika interfejsu ISequentialStream ) zwracają DBSTATUS_E_CANTCREATE.
W dostawcy SQL Server Native Client OLE DB domyślna wartość właściwości tylko do odczytu DBPROP_BLOCKINGSTORAGEOBJECTS wynosi VARIANT_TRUE. Oznacza to, że jeśli obiekt pamięci masowej jest aktywny, niektóre metody (poza tymi na obiektach pamięci) zawiodą przy E_UNEXPECTED.
Długość danych prezentowanych przez obiekt pamięci masowej zaimplementowany przez konsumenta musi być poinformowana dostawcy SQL Server Native Client OLE DB w momencie tworzenia wierszowego accessora odwołującego się do obiektu pamięci masowej. Konsument musi przypisać wskaźnik długości w strukturze DBBINDING, używanej do tworzenia accessorów.
Jeśli wiersz zawiera więcej niż jedną dużą wartość danych i DBPROP_ACCESSORDER nie jest DBPROPVAL_AO_RANDOM, konsument musi albo użyć zestawu wierszy obsługiwanego przez kursor SQL Server klienta OLE DB do pobierania danych wiersza, albo przetwarzać wszystkie duże wartości danych przed pobraniem innych wartości wiersza. Jeśli DBPROP_ACCESSORDER jest DBPROPVAL_AO_RANDOM, dostawca SQL Server Native Client OLE DB buforuje wszystkie typy danych xml jako binarne duże obiekty (BLOB), aby można było do nich uzyskać dostęp w dowolnej kolejności.