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 Systeem (PDW)
SQL-database in Microsoft Fabric
OLE DB-stuurprogramma downloaden
Voert de bulkkopie-operatie uit.
Syntaxis
HRESULT BCPExec(
DBROWCOUNT *pRowsCopied);
Opmerkingen
De BCPExec-methode kopieert gegevens van een gebruikersbestand naar een databasetabel of omgekeerd, afhankelijk van de waarde van de eDirection-parameter die wordt gebruikt met de IBCPSession::BCPInit-methode .
Voordat je BCPExec aanroept, roep je de BCPInit-methode aan met een geldige gebruikersbestandsnaam. Als dit niet wordt gedaan, ontstaat er een fout. De enige uitzondering is als een query wordt gebruikt voor een bulk copy out-operatie. In dat geval specificeer NULL voor de tabelnaam in de BCPInit-methode en specificeer vervolgens de query met de BCP_OPTION_HINTS-optie.
De BCPExec-methode is de enige bulk-kopieermethode die waarschijnlijk gedurende enige tijd uitvalt. Het is daarom de enige bulkkopieermethode die asynchrone modus ondersteunt. Om asynchrone modus te gebruiken, stel je de provider-specifieke sessieeigenschap SSPROP_ASYNCH_BULKCOPY in op VARIANT_TRUE voordat je de BCPExec-methode aanroept. Deze eigenschap is beschikbaar in de DBPROPSET_SQLSERVERSESSION property set. Om de voltooiing te testen, roep je de BCPExec-methode aan met dezelfde parameters. Als de bulkkopie nog niet is voltooid, geeft de BCPExec-methode DB_S_ASYNCHRONOUS terug. In het pRowsCopied-argument geeft het ook een statustelling terug van het aantal rijen dat naar of ontvangen is van de server. Rijen die naar de server worden gestuurd, worden pas vastgelegd nadat het einde van een batch is bereikt.
Arguments
pRowsGekopieerd[uit]
Een aanwijzer naar een DWORD. De BCPExec-methode vult het DWORD met het aantal succesvol gekopieerde rijen. Als het pRowsCopied-argument op NULL is gezet, wordt het genegeerd door de BCPExec-methode .
Retourcodewaarden
S_OK
De methode slaagde.
E_FAIL
Er is een providerspecifieke fout opgetreden; gebruik de interface ISQLServerErrorInfo voor gedetailleerde informatie.
E_UNEXPECTED
De aanroep van de methode was onverwacht. Bijvoorbeeld, de BCPInit-methode werd niet aangeroepen voordat deze methode werd aangeroepen. Gebeurt ook als de operatie is afgebroken via de BCP_OPTION_ABORT-optie, en de BCPExec-methode daarna is aangeroepen.
E_OUTOFMEMORY
Fout uit het geheugen.
DB_S_ENDOFROWSET
De bulkkopie-operatie was voltooid en alle gegevensoverdracht was voltooid.
DB_S_ASYNCHRONOUS
De huidige reeks rijen is gekopieerd. Roep de BCPExec-methode opnieuw aan om de volgende batch over te zetten.
DB_S_ERRORSOCCURRED
Fouten deden zich voor tijdens de bulkkopie-operatie en sommige rijen waren mogelijk niet gekopieerd. Het aantal fouten is nog steeds lager dan het maximaal toegestane aantal fouten.