Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Als algemene regel is het belangrijk om de implicaties te overwegen van het gebruik van SQLBindCol om dataconversie te veroorzaken. Bindingsconversies zijn clientprocessen, dus bijvoorbeeld het ophalen van een floating-point waarde die aan een tekenkolom is gebonden, zorgt ervoor dat de driver de float-naar-character conversie lokaal uitvoert wanneer een rij wordt opgehaald. De Transact-SQL CONVERT-functie kan worden gebruikt om de kosten van dataconversie op de server te plaatsen.
Een instantie van SQL Server kan meerdere sets resultaatrijen teruggeven bij één enkele instructie-uitvoering. Elke resultaatset moet afzonderlijk worden begrensd. Voor meer informatie over binding voor meerdere resultaatsets, zie SQLMoreResults.
De ontwikkelaar kan kolommen binden aan SQL Server-specifieke C-datatypes met behulp van de TargetType-waardeSQL_C_BINARY. Kolommen die gebonden zijn aan SQL Server-specifieke types zijn niet draagbaar. De gedefinieerde SQL Server-specifieke ODBC C-datatypes komen overeen met de typedefinities voor DB-Library, en DB-Library ontwikkelaars die applicaties porteren kunnen hiervan profiteren.
Het rapporteren van gegevensafkorting is een kostbaar proces voor de SQL Server Native Client ODBC-driver. Je kunt afkap voorkomen door ervoor te zorgen dat alle gebonden databuffers breed genoeg zijn om data terug te geven. Voor tekengegevens moet de breedte ruimte bevatten voor een stringterminator wanneer het standaard drivergedrag voor stringbeëindiging wordt gebruikt. Bijvoorbeeld, het binden van een SQL Server char(5)-kolom aan een array van vijf tekens resulteert in afkap voor elke opgehaalde waarde. Het binden van dezelfde kolom aan een array van zes tekens voorkomt de afkaping door een karakterelement te bieden waarin de null-terminator kan worden opgeslagen. SQLGetData kan worden gebruikt om efficiënt lange teken- en binaire gegevens op te halen zonder afkorting.
Voor datatypes met grote waardes, als de door de gebruiker geleverde buffer niet groot genoeg is om de volledige waarde van de kolom vast te houden, wordt SQL_SUCCESS_WITH_INFO teruggegeven en de "stringgegevens; Right truncation"-waarschuwing wordt gegeven. Het argument StrLen_or_IndPtr bevat het aantal tekens/bytes dat in de buffer is opgeslagen.
SQLBindCol-ondersteuning voor verbeterde datum- en tijdfuncties
Resultaten van de kolomwaarden van datum/tijd-typen worden omgezet zoals beschreven in Conversies van SQL naar C. Let op dat om tijd- en datum-tijd-offset-kolommen als hun overeenkomstige structuren (SQL_SS_TIME2_STRUCT en SQL_SS_TIMESTAMPOFFSET_STRUCT op te halen, TargetType moet worden gespecificeerd als SQL_C_DEFAULT of SQL_C_BINARY.
Zie ODBC-(Datum- en tijdverbeteringen) voor meer informatie.
SQLBindCol-ondersteuning voor grote CLR UDT's
SQLBindCol ondersteunt grote CLR-gebruikersgedefinieerde types (UDT's). Zie ODBC-(Large CLR User-Defined Types) voor meer informatie.