Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Server Native Client OLE DB-leverantören exponerar ISequentialStream-gränssnittet för att stödja konsumentåtkomst till SQL Server ntext, text, image, varchar(max),nvarchar(max),varbinary(max) och xml-datatyper som binära stora objekt (BLOBs). Read-metoden på ISequentialStream låter konsumenten hämta mycket data i hanterbara bitar.
För ett exempel som demonstrerar denna funktion, se Set Large Data (OLE DB).
SQL Server Native Client OLE DB-leverantören kan använda ett konsumentimplementerat IStorage-gränssnitt när konsumenten tillhandahåller gränssnittspekaren i en accessor som är begränsad för datamodifiering.
För datatyper med stort värde kontrollerar SQL Server Native Client OLE DB-leverantören typstorleksantaganden i IRowset- och DDL-gränssnitten. Kolumner med varchar-, nvarchar- och varbinärdatatyper med maxstorlek satt till obegränsad representeras som ISLONG genom schema-raduppsättningar och gränssnitt som returnerar kolumndatatyper.
Den SQL Server Native Client OLE DB-leverantören exponerar varchar(max), varbinary(max) och nvarchar(max) typerna som DBTYPE_STR, DBTYPE_BYTES respektive DBTYPE_WSTR.
För att arbeta med dessa typer har en applikation följande alternativ:
Bind som typen (DBTYPE_STR, DBTYPE_BYTES, DBTYPE_WSTR). Om bufferten inte är tillräckligt stor sker trunkering, precis som för dessa typer i tidigare versioner (även om större värden nu finns tillgängliga).
Bind som typen och specificera även DBTYPE_BYREF.
Bind som DBTYPE_IUNKNOWN och använd streaming.
Om den är bunden till DBTYPE_IUNKNOWN används ISequentialStream-strömfunktionalitet. Den inbyggda klient OLE DB-leverantören SQL Server stöder bindning av utgångsparametrar som DBTYPE_IUNKNOWN för stora värdedatatyper för att underlätta scenarier där en lagrad propuder returnerar dessa datatyper som returnervärden som exponeras som DBTYPE_IUNKNOWN för klienten.
Begränsningar för lagringsobjekt
SQL Server Native Client OLE DB-leverantören kan endast stödja ett enda öppet lagringsobjekt. Försök att öppna mer än ett lagringsobjekt (för att få en referens på mer än en ISequentialStream-gränssnittspekare ) returnerar DBSTATUS_E_CANTCREATE.
I SQL Server Native Client OLE DB-leverantören är standardvärdet för DBPROP_BLOCKINGSTORAGEOBJECTS skrivskyddad egenskap VARIANT_TRUE. Detta indikerar att om ett lagringsobjekt är aktivt, kommer vissa metoder (förutom de på lagringsobjekten) att misslyckas med E_UNEXPECTED.
Storleken på data som presenteras av ett konsumentimplementerat lagringsobjekt måste informeras för SQL Server Native Client OLE DB-leverantören när radaccessorn som refererar till lagringsobjektet skapas. Konsumenten måste binda en längdindikator i DBBINDING-strukturen som används för skapandet av accessorer.
Om en rad innehåller mer än ett enda stort datavärde och DBPROP_ACCESSORDER inte är DBPROPVAL_AO_RANDOM, måste konsumenten antingen använda en SQL Server Native Client OLE DB-leverantör med kursorstödd raduppsättning för att hämta raddata eller bearbeta alla stora datavärden innan andra radvärden hämtas. Om DBPROP_ACCESSORDER är DBPROPVAL_AO_RANDOM cachar den SQL Server Native Client OLE DB-leverantören alla xml-datatyper som binära stora objekt (BLOBs) så att de kan nås i valfri ordning.