Not
Å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
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