Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Microsoft Fabric
OLE DB-drivrutinen för SQL Server exponerar ISequentialStream-gränssnittet för att stödja konsumentåtkomst till SQL Server ntext, text1, 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.
[1]: Användningen av ISequentialStream-gränssnittet för att infoga UTF-8-kodad data i en äldre textkolumn är endast begränsad till servrar som stödjer UTF-8. Ett försök att köra detta scenario när man riktar in sig på en server som inte stödjer UTF-8 kommer att resultera i att drivrutinen skickar följande felmeddelande: "Streaming inte stöds över den valda kolumntypen".
För ett exempel som demonstrerar denna funktion, se Set Large Data (OLE DB).
OLE DB-drivrutinen för SQL Server 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 stora värden kontrollerar OLE DB-drivrutinen för SQL Server typstorleksantaganden i IRowset- och DDL-gränssnitt. Kolumner som har varchar-, nvarchar- och varbinärdatatyper och maxstorlek satt till obegränsad kommer att representeras som ISLONG genom schema-radmängder och via gränssnitt som returnerar kolumndatatyper.
OLE DB-drivrutinen för SQL Server 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. OLE DB-drivrutinen för SQL Server stöder bindning av utdataparametrar som DBTYPE_IUNKNOWN för datatyper med stora värden. Detta är för att stödja scenarier där en lagrad proprodur returnerar dessa datatyper som returvärden, vilka sedan returneras som DBTYPE_IUNKNOWN till klienten.
Begränsningar för lagringsobjekt
OLE DB-drivrutinen för SQL Server 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 OLE DB-drivrutinen för SQL Server är standardvärdet för DBPROP_BLOCKINGSTORAGEOBJECTS skrivskyddad egenskap VARIANT_TRUE. Därför, om ett lagringsobjekt är aktivt, kommer vissa metoder (förutom metoder på lagringsobjekten) att misslyckas med E_UNEXPECTED.
Storleken på data som presenteras av ett konsumentimplementerat lagringsobjekt måste göras känd för OLE DB-drivrutinen för SQL Server 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 OLE DB-drivrutin för SQL Server-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 OLE DB-drivrutinen för SQL Server alla xml-datatyper som binära stora objekt (BLOBs) så att de kan nås i valfri ordning.
I det här avsnittet
Se även
OLE DB-drivrutin för SQL Server Programming
Användning av stora värdetyper