Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez a cikk bemutatja, hogyan használhatja a bcp segédprogramot az adatok tömeges másolására linuxos SQL Server-példány és egy felhasználó által megadott formátumú adatfájl között.
A bcp használatával nagy számú sort importálhat SQL Server táblákba, vagy exportálhat adatokat SQL Server táblákból adatfájlokba. Kivéve, ha a lekérdezési beállítással használja, bcp nem szükséges ismernie a Transact-SQL. A bcp parancssori segédprogram a Microsoft SQL Serverrel együttműködik, amely a helyszínen vagy a felhőben, Linuxon, Windowson, Dockeren, valamint Azure SQL Database-en és Azure Synapse Analytics-en fut.
Ez a cikk bemutatja, hogyan:
- Adatok importálása táblába a
bcp inparanccsal - Adatok exportálása táblázatból a
bcp outparanccsal
Az SQL Server parancssori eszközeinek telepítése
A bcp a SQL Server parancssori eszközei közé tartozik, amelyeket nem telepítenek automatikusan a Linuxra telepített SQL Server-rel. Ha még nem telepítette az SQL Server parancssori eszközeit a Linux rendszerű gépen, telepítenie kell őket. Az eszközök telepítésével kapcsolatos további információkért válassza ki a Linux-disztribúciót az alábbi listából:
Adatok importálása bcp használatával
Ebben az oktatóanyagban létrehoz egy mintaadatbázist és egy táblát a helyi SQL Server-példányon (localhost), majd a bcp használatával betölti a mintatáblát egy lemezen lévő szövegfájlból.
Mintaadatbázis és -tábla létrehozása
Első lépésként hozzon létre egy mintaadatbázist egy egyszerű táblával, amelyet az oktatóanyag többi részében használunk.
A Linux-mezőben nyisson meg egy parancsterminált.
Másolja és illessze be a következő parancsokat a terminálablakba. Ezek a parancsok a
sqlcmdparancssori segédprogrammal hoznak létre mintaadatbázist (BcpSampleDB) és egy táblát (TestEmployees) a helyi SQL Server-példányon (localhost). A parancsok futtatása előtt szükség szerint cserélje le ausernameés<password>.
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
Az adatbázis létrehozása BcpSampleDB:
sqlcmd -S localhost -U sa -P <password> -Q "CREATE DATABASE BcpSampleDB;"
Hozza létre a táblát TestEmployees az adatbázisban BcpSampleDB:
sqlcmd -S localhost -U sa -P <password> -d BcpSampleDB -Q "CREATE TABLE TestEmployees (Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, Name NVARCHAR(50), Location NVARCHAR(50));"
A forrásadatfájl létrehozása
Másolja és illessze be a következő parancsot a terminálablakba. A beépített cat paranccsal létrehozunk egy szöveges mintaadatfájlt, amely három rekordot tartalmaz. Mentsük el a fájlt a kezdőkönyvtáradba ~/test_data.txt. A rekordok mezőit vesszővel tagolja.
cat > ~/test_data.txt << EOF
1,Jared,Australia
2,Nikita,India
3,Tom,Germany
EOF
Az adatfájl helyes létrehozásának ellenőrzéséhez futtassa az alábbi parancsot a terminálablakban:
cat ~/test_data.txt
Ennek a terminálablakban a következőnek kell megjelennie:
1,Jared,Australia
2,Nikita,India
3,Tom,Germany
Adatok importálása a forrásadatfájlból
Másolja és illessze be a következő parancsokat a terminálablakba. Ez a parancs a bcp használatával csatlakozik a helyi SQL Server-példányhoz (localhost), és importálja az adatokat az adatfájlból (~/test_data.txt) az adatbázis táblájába (TestEmployees) (BcpSampleDB). A parancsok futtatása előtt ne felejtse el lecserélni a felhasználónevet és a <password>.
bcp TestEmployees in ~/test_data.txt -S localhost -U sa -P <password> -d BcpSampleDB -c -t ','
A példában használt bcp parancssori paraméterek rövid áttekintése:
-
-S: az SQL Server azon példányát adja meg, amelyhez csatlakozni szeretne -
-U: az SQL Serverhez való csatlakozáshoz használt bejelentkezési azonosítót adja meg -
-P: megadja a bejelentkezési azonosító jelszavát -
-d: megadja a csatlakozni kívánt adatbázist -
-c: karakter adattípussal hajt végre műveleteket -
-t: a mező terminátorát adja meg.commahasználjuk az adatfájl rekordjainak mező terminátoraként
Jegyzet
Ebben a példában nem adunk meg egyéni sorszétválasztót. A szöveges adatfájl sorai helyesen newline végződtek, amikor a cat paranccsal korábban létrehoztuk az adatfájlt.
Az adatok importálásának sikerességét az alábbi parancs futtatásával ellenőrizheti a terminálablakban. A parancs futtatása előtt szükség szerint cserélje le a username és a <password>.
sqlcmd -S localhost -d BcpSampleDB -U sa -P <password> -I -Q "SELECT * FROM TestEmployees;"
Ennek a következő eredményeket kell megjelenítenie:
Id Name Location
----------- ------------------- -------------------
1 Jared Australia
2 Nikita India
3 Tom Germany
Adatok exportálása bcp használatával
Ebben az oktatóanyagban a bcp használatával exportáld a korábban létrehozott mintatáblánk adatait egy új adatfájlba.
Másolja és illessze be a következő parancsokat a terminálablakba. Ezek a parancsok a bcp parancssori segédprogrammal exportálják az adatokat az adatbázis TestEmployees táblájából BcpSampleDB egy új, úgynevezett ~/test_export.txtadatfájlba. A parancs futtatása előtt ne felejtse el lecserélni a felhasználónevet és a <password>.
bcp TestEmployees out ~/test_export.txt -S localhost -U sa -P <password> -d BcpSampleDB -c -t ','
Az adatok helyes exportálásának ellenőrzéséhez futtassa a következő parancsot a terminálablakban:
cat ~/test_export.txt
Ennek a terminálablakban a következőnek kell megjelennie:
1,Jared,Australia
2,Nikita,India
3,Tom,Germany