IBCPSession::BCPReadFmt (Native Client OLE DB-leverantör)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Important

Den interna SQL Server-klienten (ofta förkortad SNAC) har tagits bort från SQL Server 2022 (16.x) och SQL Server Management Studio 19 (SSMS). Både SQL Server Native Client OLE DB-providern (SQLNCLI eller SQLNCLI11) och den äldre Microsoft OLE DB-providern för SQL Server (SQLOLEDB) rekommenderas inte för ny utveckling. Växla till den nya Microsoft OLE DB Driver (MSOLEDBSQL) för SQL Server framöver.

Läser formatinformation för varje kolumn från formatfilen.

Syntax

  
HRESULT BCPReadFmt(   
      const wchar_t *pwszFormatFile);  

Remarks

BCPReadFmt-metoden används för att läsa data från en formatfil som specificerar formatet på data i datafilen. Denna metod kan upptäcka rätt version av formatfilen. Den kan automatiskt upptäcka om formatfilen är i XML- eller gammaldags textformat och beter sig därefter. De formatversioner som stöds av SQL Server Native Client OLE DB-leverantören BCP är version 6.0 eller nyare.

Efter att BCPReadFmt-metoden läst formatvärdena gör den lämpliga anrop till IBCPSession::BCPColumns och IBCPSession::BCPColFmt-metoderna . Det finns inget behov för användaren att tolka en formatfil och göra dessa anrop.

För att spara en formatfil, anropa metoden IBCPSession::BCPWriteFmt . Anrop till BCPReadFmt-metoden kan referera till sparade format. Alternativt kan bulk-copy utility (bcp) spara användardefinierade dataformat i filer som kan refereras med BCPReadFmt-metoden .

Det BCP_OPTION_DELAYREADFMT värdet av eOption-parametern i IBCPSession::BCPControl modifierar beteendet hos IBCPSession::BCPReadFmt.

Arguments

pwszFormatFile[in]
Sökvägen och filnamnet på filen som innehåller formatvärdena för datafilen.

Returnera kodvärden

S_OK
Metoden lyckades.

E_FAIL
Ett leverantörsspecifikt fel uppstod, för detaljerad information kan du använda gränssnittet ISQLServerErrorInfo .

E_OUTOFMEMORY
Fel om slut på minne.

E_UNEXPECTED
Anropet till metoden var oväntat. Till exempel anropades inte metoden IBCPSession::BCPInit innan denna metod anropades.