Kompatibilitási adatformátumok megadása a bcp (SQL Server) használatakor

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Ez a cikk az adatformátum attribútumait, a mezőspecifikus kéréseket és a mezőnkénti adatok tárolását ismerteti a fájl nem xml formátumú fájljában

SQL Serverbcp parancs. Ezek megértése hasznos lehet, ha tömegesen exportálja az SQL Server-adatokat egy másik programba, például egy másik adatbázisprogramba történő tömeges importáláshoz. Előfordulhat, hogy a forrástáblában az alapértelmezett adatformátumok (natív, karakter vagy Unicode) nem kompatibilisek a másik program által várt adatelrendezéssel Ha kompatibilitási hiba áll fenn, az adatok exportálásakor le kell írnia az adatelrendezést.

Megjegyzés:

Ha nem ismeri az adatok importálásához vagy exportálásához használt adatformátumokat, olvassa el a Tömeges importálás vagy tömeges exportálás adatformátumai (SQL Server) című témakört.

bcp Data-Format attribútumok

A bcp paranccsal az adatfájl egyes mezőinek struktúráját az alábbi adatformátum-attribútumok alapján adhatja meg:

  • Fájltárolási típus

    A fájltárolás típusa azt ismerteti, hogyan történik az adatok tárolása az adatfájlban. Az adatok exportálhatók egy adatfájlba adatbázistábla-típusként (natív formátumban), karakterábrázolásban (karakterformátumban), vagy bármely olyan adattípusként, ahol az implicit átalakítás támogatott; például egy smallint másolása int-ként. A felhasználó által definiált adattípusok az alaptípusuk szerint kerülnek exportálásra. További információ: Fájltároló típusának megadása a bcp (SQL Server) használatával.

  • Előtag hossza

    Ha a lehető legtömörebb fájltárolót szeretné biztosítani az adatok natív formátumban való tömeges exportálásához egy adatfájlba, a bcp parancs minden mező előtt egy vagy több karaktert tartalmaz, amely a mező hosszát jelzi. Ezeket a karaktereket hosszelőtag-karaktereknek nevezzük. További információ: Adatfájlok előtaghosszának megadása bcp (SQL Server) használatával.

  • Mező hossza

    A mező hossza a karakterformátumban szereplő adatok megjelenítéséhez szükséges karakterek maximális számát jelzi. A mező hossza már ismert, ha az adatokat natív formátumban tárolják. További információ: Mezőhossz megadása a bcp (SQL Server) használatával.

  • Mezőhatároló

    Karakteradatmezők esetén a nem kötelező záró karakterek lehetővé teszik az adatfájl egyes mezőinek végét ( egy mező terminátor használatával) és az egyes sorok végét ( sor-terminátor használatával). A karakterek megszakításával jelezheti az adatfájlt olvasó programok számára, hogy melyik mező vagy sor végződik, és hol kezdődik egy másik. További információ: Mező- és sorkifejezések megadása (SQL Server).

Szakterületi utasítások áttekintése

Ha egy interaktív bcp-parancs tartalmazza a be- vagy kifelé lehetőséget, de nem tartalmazza sem a formátumfájl kapcsolóját (-f), sem az adatformátum kapcsolót (-n, -c, -w vagy -N), a forrás- vagy céltábla minden oszlopát, a parancssor az előző attribútumok mindegyikét kéri. A bcp parancs minden egyes parancssorban egy alapértelmezett értéket biztosít a táblaoszlop SQL Server-adattípusa alapján. Az összes kérés alapértelmezett értékének elfogadása ugyanazt az eredményt eredményezi, mint a parancssor natív formátumának (-n) megadása. Minden parancssor egy alapértelmezett értéket jelenít meg szögletes zárójelekben: [default]. Az ENTER billentyű lenyomásával elfogadja a megjelenített alapértelmezett értéket. Az alapértelmezett értéken kívüli érték megadásához írja be az új értéket a parancssorba.

Example

Az alábbi példa a bcp paranccsal tömegesen exportálja az adatokat a HumanResources.myTeam táblából interaktívan a myTeam.txt fájlba. A példa futtatása előtt létre kell hoznia ezt a táblát. A táblával és annak létrehozásával kapcsolatos információkért lásd: HumanResources.myTeam Mintatábla (SQL Server).

A parancs nem ad meg sem formátumfájlt, sem adattípust, ezért a bcp adatformátum-információkat kér. A Microsoft Windows parancssorában adja meg a következőt:

bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T

A bcp minden oszlophoz mezőspecifikus értékeket kér. Az alábbi példa a tábla és EmployeeID az Name oszlopok mezőspecifikus kéréseit mutatja be, és az egyes oszlopok alapértelmezett fájltárolási típusát (natív formátumát) javasolja. Az EmployeeID és Name oszlopok előtagjainak hossza 0 és 2, sorrendben. A felhasználó egy vesszőt (,) határoz meg az egyes mezők terminátoraként.

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]:,

.

.

.

Az egyes táblaoszlopokhoz (szükség szerint) megfelelő kérések jelennek meg sorrendben.

Mezőenkénti adatok tárolása nem XML formátumú fájlban

Az összes táblaoszlop megadása után a bcp parancssora kéri, hogy hozzon létre egy nem XML formátumú fájlt, amely az imént megadott mezőenkénti adatokat tárolja (lásd az előző példát). Ha formátumfájl létrehozása mellett dönt, bármikor exportálhat adatokat a táblából, vagy importálhat hasonló strukturált adatokat az SQL Serverbe.

Megjegyzés:

A formátumfájl használatával tömegesen importálhat adatokat az adatfájlból egy SQL Server-példányba, vagy tömegesen exportálhat adatokat a táblából anélkül, hogy újra meg kellene adnia a formátumot. További információ: Fájlok formázása adatok importálásához vagy exportálásához (SQL Server).

Az alábbi példa egy nem XML formátumú fájlt myFormatFile.fmthoz létre:

Do you want to save this format information in a file? [Y/n] y

Host filename: [bcp.fmt]myFormatFile.fmt

A formátumfájl alapértelmezett neve a bcp.fmt, de tetszés szerint másik fájlnevet is megadhat.

Megjegyzés:

Olyan adatfájlok esetében, amelyek a fájltároló típusához egyetlen adatformátumot használnak, például karaktert vagy natív formátumot, a formátumbeállítással gyorsan létrehozhat formátumfájlokat anélkül, hogy adatokat exportálnak vagy importálnak. Ennek a módszernek az előnye, hogy egyszerű, és lehetővé teszi xml formátumú vagy nem XML formátumú fájl létrehozását. További információért lásd: Formátumfájl létrehozása (SQL Server).

Nincs.

Következő lépések