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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
A Unicode natív formátuma akkor hasznos, ha az adatokat át kell másolni az egyik Microsoft SQL Server-telepítésből egy másikba. A natív formátum használata a nem karakteradatokhoz időt takarít meg, mivel megszünteti az adattípusok felesleges átalakítását karakterformátummá és vissza. A Unicode karakterformátum használata minden karakteradat esetében megakadályozza a kiterjesztett karakterek elvesztését a különböző kódlapokat használó kiszolgálók közötti adattovábbítás során. A Unicode natív formátumú adatfájlokat bármilyen tömeges importálási módszerrel beolvashatja.
A Unicode natív formátuma az SQL Server több példánya közötti tömeges adattovábbításhoz ajánlott kiterjesztett vagy DBCS-karaktereket tartalmazó adatfájl használatával. Nemcharacter-adatok esetén a Unicode natív formátuma natív (adatbázis-) adattípusokat használ. Az olyan karakteradatok esetében, mint karakter, nchar, varchar, nvarchar, szöveg, varchar(max), nvarchar(max)és ntext, a Unicode natív formátuma Unicode karakteradat-formátumot használ.
A Unicode natív formátumú adatfájlban SQLVARIANT formátumban tárolt sql_variant adatok ugyanúgy működnek, mint egy natív formátumú adatfájlban, kivéve, hogy karakteres és varchar értékek nchar és nvarcharlesznek konvertálva, ami megduplázza az érintett oszlopokhoz szükséges tárterületet. Az eredeti metaadatok megmaradnak, és az értékek vissza lesznek alakítva az eredeti karakteres és varchar adattípusra, amikor tömegesen importálják őket egy táblaoszlopba.
A unicode natív formátum parancsbeállításai
Unicode natív formátumú adatokat importálhat egy táblába bcp, BULK INSERT vagy OPENROWSET BULK használatával.
- Bcp-parancs vagy BULK INSERT utasítás esetén megadhatja az adatformátumot az utasításban.
- OPENROWSET BULK utasítás esetén meg kell adnia az adatformátumot egy formátumfájlban.
A Unicode natív formátumát a következő parancsbeállítások támogatják:
| Parancs | Opció | Leírás |
|---|---|---|
bcp |
-N |
bcp A segédprogram a Unicode natív formátumot használja, amely natív (adatbázis-) adattípusokat használ az összes nemcharacter-adathoz, a Unicode karakteradat-formátumot pedig az összes karakterhez (char, nchar, varchar, nvarchar, text és ntext) tartozó adatokhoz. |
BULK INSERT |
DATAFILETYPE ='widenative' |
Unicode natív formátumot használ az adatok tömeges importálásakor. |
OPENROWSET |
Nincs adat. | Formátumfájlt kell használnia |
Jegyzet
Másik lehetőségként megadható a formázás mezőnkénti alapon egy formátumfájlban. További információ: Fájlok formázása adatok importálásához vagy exportálásához (SQL Server).
Példa tesztelési feltételekre
A jelen témakör példái a mintatáblán myWidenative és a formátumfájlon myWidenative.fmtalapulnak. Cserélje le a helyi fájlok elérési útjait a rendszerén lévő helyi fájl elérési utak valamelyikére.
Mintatábla
A következő szkript létrehoz egy tesztadatbázist, egy myWidenative nevű táblát, és feltölti a táblát néhány kezdeti értékkel. Hajtsa végre a következő Transact-SQL-t:
CREATE DATABASE TestDatabase;
GO
USE TestDatabase;
CREATE TABLE dbo.myWidenative (
PersonID smallint NOT NULL,
FirstName nvarchar(25) NOT NULL,
LastName nvarchar(30) NOT NULL,
BirthDate date,
AnnualSalary money
);
-- Populate table
INSERT TestDatabase.dbo.myWidenative
VALUES (1, N'ϴAnthony', N'Grosse', '02-23-1980', 65000.00),
(2, N'❤Alica', N'Fatnowna', '11-14-1963', 45000.00),
(3, N'☎Stella', N'Rossenhain', '03-02-1992', 120000.00);
-- Review Data
SELECT * FROM TestDatabase.dbo.myWidenative;
Nem XML formátumú minta fájl
Az SQL Server kétféle formátumfájlt támogat: nem XML- és XML-formátumot. A nem XML formátum az SQL Server korábbi verziói által támogatott eredeti formátum. Részletes információkért tekintse át a Nem XML formátumú fájlok (SQL Server) használatát . Az alábbi parancs a bcp segédprogram használatával hoz létre egy nem xml formátumú fájlt, myWidenative.fmta myWidenativesémája alapján.
- Ha bcp parancsot szeretne használni egy formátumfájl létrehozásához, adja meg a
formatargumentumot, és adatfájl elérési útja helyett használja anul. - A formátumbeállításhoz szükség van a
-fbeállításra is. -
ckarakteradatok megadására szolgál -
Tmegbízható kapcsolat megadására szolgál az integrált biztonság használatával.
A parancssorban adja meg a következő parancsokat:
bcp TestDatabase.dbo.myWidenative format nul -f D:\BCP\myWidenative.fmt -T -N
REM Review file
Notepad D:\BCP\myWidenative.fmt
Fontos
Győződjön meg arról, hogy a nem XML formátumú fájl egy kocsivissza\sor hírcsatornával végződik. Ellenkező esetben valószínűleg a következő hibaüzenet jelenik meg:
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC Driver 13 for SQL Server]I/O error while reading BCP format file
Példák
Az alábbi példák az adatbázist használják, és formázza a fent létrehozott fájlokat.
Adatok exportálása bcp és Unicode natív formátumban
A -N kapcsoló és OUT parancs.
Az ebben a példában létrehozott adatfájl minden további példában használatos lesz.
A parancssorban adja meg a következő parancsokat:
bcp TestDatabase.dbo.myWidenative OUT D:\BCP\myWidenative.bcp -T -N
REM Review results
NOTEPAD D:\BCP\myWidenative.bcp
Adatok importálása formátumfájl nélkül bcp és Unicode natív formátumban
A -N kapcsoló és IN parancs.
A parancssorban adja meg a következő parancsokat:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -T -N
REM Review results is SSMS
Adatok importálása nem XML formátumú fájllal bcp és Unicode natív formátumban
A -N és -f kapcsolók és IN parancs.
A parancssorban adja meg a következő parancsokat:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -f D:\BCP\myWidenative.fmt -T -N
REM Review results is SSMS
A BULK INSERT és a Unicode natív formátum használata formátumfájl nélkül
Az DATAFILETYPE argumentum.
Hajtsa végre a következő Transact-SQL a Microsoft SQL Server Management Studióban (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH (DATAFILETYPE = 'widenative' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
TÖMEGES BESZÚRÁS és Unicode natív formátum használata nem XML formátumú fájllal
Az FORMATFILE argumentum.
Hajtsa végre a következő Transact-SQL a Microsoft SQL Server Management Studióban (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH ( FORMATFILE = 'D:\BCP\myWidenative.fmt' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
OPENROWSET és Unicode natív formátum használata nem XML formátumú fájllal
Az FORMATFILE argumentum.
Hajtsa végre a következő Transact-SQL a Microsoft SQL Server Management Studióban (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
INSERT INTO TestDatabase.dbo.myWidenative
SELECT * FROM OPENROWSET (
BULK 'D:\BCP\myWidenative.bcp',
FORMATFILE = 'D:\BCP\myWidenative.fmt'
) AS t1;
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
Kapcsolódó tevékenységek
Adatformátumok használata tömeges importáláshoz vagy tömeges exportáláshoz:
- Natív és karakterformátumú adatok importálása az SQL Server korábbi verzióiból
- Karakterformátum használata adatok importálásához vagy exportálásához (SQL Server)
- Natív formátum használata adatok importálásához vagy exportálásához (SQL Server)
- Unicode karakterformátum használata adatok importálásához vagy exportálásához (SQL Server)