Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-database in Microsoft Fabric
Dit artikel beschrijft de attributen voor dataformaat, veldspecifieke prompts en hoe veld-voor-veld-gegevens worden opgeslagen in een niet-XML-formaat bestand van het bcp hulpprogramma. Deze informatie kan helpen wanneer je SQL Server-gegevens bulk-exporteert voor bulkimport naar een ander programma, zoals een ander databaseprogramma. De standaard dataformaten (native, character of Unicode) in de brontabel kunnen niet compatibel zijn met de datalay-out die het andere programma verwacht. Als er een incompatibiliteit bestaat, moet je de data-indeling beschrijven wanneer je de data exporteert.
Opmerking
Voor meer informatie over dataformaten voor het importeren of exporteren van data, zie Dataformaten voor bulkimport of bulkexport.
BCP Data-Format attributen
Gebruik bcp om de structuur van elk veld in een databestand te specificeren via de volgende dataformaatattributen:
Bestandsopslagtype
Het bestandstype beschrijft hoe gegevens worden opgeslagen in het gegevensbestand. Je kunt data exporteren naar een databestand als het databasetabeltype (native formaat), in de tekenrepresentatie (tekenformaat), of als elk datatype dat impliciete conversie ondersteunt. Je kunt bijvoorbeeld een smallint kopiëren als een int. Door de gebruiker gedefinieerde datatypes worden geëxporteerd als hun basistypen. Voor meer informatie, zie Specificeer bestandsopslagtype met bcp.
Lengte van voorvoegsel
Om de meest compacte bestandsopslag te bieden voor de bulkexport van data in native formaat naar een databestand,
bcpwordt elk veld voorafgegaan door één of meer tekens die de lengte van het veld aangeven. Deze tekens worden lengtevoorvoegsels genoemd. Voor meer informatie, zie Specificeer prefixlengte in databestanden met bcp.Veldlengte
De veldlengte geeft het maximum aantal tekens aan dat nodig is om gegevens in tekenindeling weer te geven. De veldlengte is al bekend als de gegevens zijn opgeslagen in het natuurlijke formaat. Voor meer informatie, zie Specificeer veldlengte door bcp te gebruiken.
Veldeindteken
Voor karaktergegevensvelden kunnen optionele afsluitende tekens het einde van elk veld in een databestand markeren (met een veldterminator) en het einde van elke rij (met een rijterminator). Eindtekens zijn een manier om aan te geven aan programma's die het gegevensbestand lezen waarin een veld of rij eindigt en een andere begint. Zie Veld- en rijeindtekens opgeven voor meer informatie.
Overzicht van de veldspecifieke prompts
Als je -f interactief uitvoert met de optie -n of -c, maar niet voor elke kolom in de bron- of doeltabel de schakeloptie voor het indelingsbestand (-w) of een schakeloptie voor de gegevensindeling (-N, bcp, bcp of out) opgeeft, vraagt in achtereenvolgens om elk van de voorgaande kenmerken. In elke prompt bcp wordt een standaardwaarde gegeven op basis van het SQL Server-datatype van de tabelkolom. Het accepteren van de standaardwaarde voor alle prompts levert hetzelfde resultaat op als het specificeren van het native formaat (-n) op de commandoregel. Elke prompt geeft een standaardwaarde tussen vierkante haken weer: [standaard]. Druk op ENTER om de weergegeven standaard te accepteren. Als u een andere waarde dan de standaardwaarde wilt opgeven, voert u de nieuwe waarde in bij de prompt.
Example
Het volgende voorbeeld gebruikt bcp om gegevens interactief in bulk te exporteren uit de tabel HumanResources.myTeam naar het bestand myTeam.txt. Voordat u het voorbeeld kunt uitvoeren, moet u deze tabel maken. Voor informatie over de tabel en hoe deze te maken, zie HumanResources.myTeam Voorbeeldtabel.
Het commando specificeert noch een formaatbestand noch een datatype, dus bcp vraagt om gegevensformaatinformatie. Voer in de Windows-opdrachtprompt in:
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Voor elke kolom wordt bcp gevraagd om veldspecifieke waarden. In het volgende voorbeeld ziet u de veldspecifieke prompts voor de EmployeeID en Name kolommen van de tabel en wordt het standaardbestandsopslagtype (de systeemeigen indeling) voor elke kolom voorgesteld. De prefixlengtes van de EmployeeID en Name kolommen zijn respectievelijk 0 en 2. De gebruiker geeft een komma (,) op als het eindteken van elk veld.
Enter the file storage type of field EmployeeID [smallint]:
Enter prefix-length of field EmployeeID [0]:
Enter field terminator [none]:,
Enter the file storage type of field Name [nvarchar]:
Enter prefix length of field Name [2]:
Enter field terminator [none]:,
.
.
.
Overeenkomstige prompts worden indien nodig voor elke tabelkolom op volgorde weergegeven.
Slaat veld-voor-veld gegevens op in een niet-XML-formaat bestand
Nadat je alle tabelkolommen hebt gespecificeerd, bcp wordt je gevraagd om optioneel een niet-XML-formaat bestand te genereren dat de veld-voor-veld informatie opslaat die je zojuist hebt ingeleverd (zie het voorgaande voorbeeld). Als je ervoor kiest om een formaat bestand te genereren, kun je het gebruiken wanneer je data exporteert uit die tabel of vergelijkbare gestructureerde data importeert in SQL Server.
Opmerking
U kunt het indelingsbestand gebruiken om gegevens bulksgewijs uit het gegevensbestand te importeren in een exemplaar van SQL Server of om gegevens bulksgewijs uit de tabel te exporteren, zonder dat u de indeling opnieuw hoeft te controleren. Voor meer informatie, zie Bestanden formatteren om gegevens te importeren of exporteren.
In het volgende voorbeeld wordt een bestand met een niet-XML-indeling gemaakt met de naam myFormatFile.fmt:
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]myFormatFile.fmt
De standaardnaam voor het formateerbestand is bcp.fmt, maar je kunt een andere bestandsnaam opgeven als je wilt.
Opmerking
Voor een databestand dat één dataformaat gebruikt voor het bestandsopslagtype, zoals teken- of native formaat, kun je snel een formaat maken zonder data te exporteren of importeren door de format optie te gebruiken. Deze aanpak is eenvoudig en stelt je in staat om ofwel een XML-formaat bestand of een niet-XML-formaat bestand te maken. Zie Een indelingsbestand maken met bcp voor meer informatie.
Gerelateerde taken
- Specificeer het bestandsopslagtype met behulp van bcp
- Specificeer de prefixlengte in databestanden met bcp
- Specificeer veldlengte door bcp te gebruiken
- Specificeer veld- en rijterminatoren