Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Az Excel-fájlokból az SQL Serverbe vagy az Azure SQL Database-be többféleképpen importálhat adatokat. Egyes módszerek lehetővé teszik az adatok egyetlen lépésben történő importálását közvetlenül az Excel-fájlokból; más metódusok esetén az importálás előtt az Excel-adatokat szövegként (CSV-fájlként) kell exportálnia.
Ez a cikk a gyakran használt módszereket foglalja össze, és részletesebb információkra mutató hivatkozásokat tartalmaz. Az olyan összetett eszközök és szolgáltatások teljes leírása, mint az SSIS vagy az Azure Data Factory, meghaladja a jelen cikk hatókörét. Az Önt érdeklő megoldással kapcsolatos további információkért kövesse a megadott hivatkozásokat.
Metódusok listája
Az Adatok importálása az Excelből többféleképpen is lehetséges. Telepítse az SQL Server Management Studio (SSMS) legújabb verzióját ezen eszközök némelyikének használatához.
A következő eszközökkel importálhat adatokat az Excelből:
| Először exportálás szövegbe (SQL Server és Azure SQL Database) | Közvetlenül az Excelből (csak a helyszíni SQL Serverről) |
|---|---|
| Lapos fájl importáló varázsló | SQL Server Importálás és Exportálás Varázsló |
| BULK INSERT utasítás | SQL Server Integration Services (SSIS) |
| tömeges másolási eszköz (bcp) | OPENROWSET függvény |
| Másolási varázsló (Azure Data Factory) | |
| Azure Data Factory |
Ha több munkalapot szeretne importálni egy Excel-munkafüzetből, általában mindegyik munkalapon egyszer kell futtatnia ezeket az eszközöket.
További információ: korlátozások és az Excel-fájlokba adatok betöltésének ismert problémái.
Importálás és Exportálás Varázsló
Adatok importálása közvetlenül Excel-fájlokból az SQL Server Importálás és exportálás varázslóval. A beállításokat SQL Server Integration Services-csomagként (SSIS) is mentheti, amelyet később testre szabhat és újra felhasználhat.
Az SQL Server Management Studióban csatlakozzon az SQL Server Adatbázismotor egy példányához.
Terjessze ki Adatbázisok.
Kattintson a jobb gombbal egy adatbázisra.
Válassza Tevékenységeklehetőséget.
Válassza Adatok importálása vagy Adatok exportálása:
Ezzel elindítja a varázslót:
További információkért lásd a következő cikkeket:
- SQL Server Importálás és Exportálás Varázsló indítása
- Kezdje el ezzel az egyszerű példával az Importálás és Exportálás Varázslóban
Integration Services (SSIS)
Ha ismeri az SQL Server Integration Services (SSIS) szolgáltatást, és nem szeretné futtatni az SQL Server Importálás és exportálás varázslót, létrehozhat egy SSIS-csomagot, amely az adatfolyamban az Excel-forrást és az SQL Server-célhelyet használja.
További információkért lásd a következő cikkeket:
Az SSIS-csomagok létrehozásának megismeréséhez tekintse meg az oktatóanyagot, ETL-csomag létrehozása.
OPENROWSET és társított kiszolgálók
Fontos
Az Azure SQL Database-ben nem importálhat közvetlenül az Excelből. Először exportálnia kell az adatokat egy szövegfájlba (CSV).
Az alábbi példák a JET-szolgáltatót használják. Az Excel-adatforrásokhoz csatlakozó Office ACE-szolgáltató interaktív ügyféloldali használatra készült, amely nem interaktív használat esetén váratlan eredményeket okozhat.
Elosztott lekérdezések
Adatok importálása közvetlenül az SQL Serverbe Excel-fájlokból a Transact-SQL OPENROWSET vagy OPENDATASOURCE függvénnyel. Ezt a használatot elosztott lekérdezésinevezik.
Fontos
Az Azure SQL Database-ben nem importálhat közvetlenül az Excelből. Először exportálnia kell az adatokat egy szövegfájlba (CSV).
Az elosztott lekérdezések futtatása előtt engedélyeznie kell a Ad Hoc Distributed Queries kiszolgáló konfigurációs beállítását, ahogyan az az alábbi példában látható. További információ: kiszolgálókonfiguráció: Alkalmi elosztott lekérdezések.
EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
Az alábbi kódminta OPENROWSET használatával importálja az adatokat az Excel Sheet1 munkalapról egy új adatbázistáblába.
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.JET.OLEDB.4.0',
'Excel 8.0; Database=C:\Temp\Data.xls', [Sheet1$]);
GO
Itt van ugyanaz a példa a OPENDATASOURCE-al.
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Data Source=C:\Temp\Data.xls;Extended Properties=Excel 8.0')...[Sheet1$];
GO
Ha az importált adatokat új tábla létrehozása helyett meglévő táblához szeretné hozzáfűzni, használja az INSERT INTO ... SELECT ... FROM ... szintaxist az előző példákban használt SELECT ... INTO ... FROM ... szintaxis helyett.
Ha importálás nélkül szeretné lekérdezni az Excel-adatokat, használja a szabványos SELECT ... FROM ... szintaxist.
Az elosztott lekérdezésekkel kapcsolatos további információkért tekintse meg az alábbi cikkeket:
1 elosztott lekérdezés továbbra is támogatott az SQL Serverben, de a funkció dokumentációja nem frissül.
Csatolt kiszolgálók
Az SQL Server és az Excel fájl közötti állandó kapcsolatot is konfigurálhatja csatolt kiszolgálóként. Az alábbi példa a meglévő Excel-csatolt kiszolgáló Data munkalapjáról importálja az adatokat egy EXCELLINKnevű új SQL Server-adatbázistáblába Data_ls.
USE ImportFromExcel;
GO
SELECT * INTO Data_ls FROM EXCELLINK...[Data$];
GO
Csatolt kiszolgálót az SQL Server Management Studióból (SSMS) vagy a rendszer által tárolt eljárás sp_addlinkedserverfuttatásával hozhat létre, ahogyan az alábbi példában is látható.
DECLARE @RC AS INT;
DECLARE @server AS NVARCHAR (128);
DECLARE @srvproduct AS NVARCHAR (128);
DECLARE @provider AS NVARCHAR (128);
DECLARE @datasrc AS NVARCHAR (4000);
DECLARE @location AS NVARCHAR (4000);
DECLARE @provstr AS NVARCHAR (4000);
DECLARE @catalog AS NVARCHAR (128);
-- Set parameter values
SET @server = 'EXCELLINK';
SET @srvproduct = 'Excel';
SET @provider = 'Microsoft.JET.OLEDB.4.0';
SET @datasrc = 'C:\Temp\Data.xls';
SET @provstr = 'Excel 8.0';
EXECUTE
@RC = [master].[dbo].[sp_addlinkedserver]
@server,
@srvproduct,
@provider,
@datasrc,
@location,
@provstr,
@catalog;
A csatolt kiszolgálókról az alábbi cikkekben talál további információt:
A csatolt kiszolgálókra és az elosztott lekérdezésekre vonatkozó további példákért és információkért tekintse meg a következő cikket:
Előfeltételek
Az ezen a lapon ismertetett többi metódus (a BULK INSERT utasítás, a bcp eszköz vagy az Azure Data Factory) használatához először exportálnia kell az Excel-adatokat egy szövegfájlba.
Excel-adatok mentése szövegként
Az Excelben válassza a Fájl | Mentés másként parancsot, majd válassza a Szöveg (tabulátorral tagolt) (*.txt) vagy a CSV (vessző által tagolt) (*.csv) mint célfájltípus.
Ha több munkalapot szeretne exportálni a munkafüzetből, jelölje ki az egyes munkalapokat, majd ismételje meg ezt az eljárást. A Mentés parancs csak az aktív lapot exportálja.
Borravaló
Az adatimportáló eszközökkel elérhető legjobb eredmények érdekében mentse azokat a lapokat, amelyek csak az oszlopfejléceket és az adatsorokat tartalmazzák. Ha a mentett adatok oldalcímeket, üres sorokat, jegyzeteket és így tovább tartalmaznak, előfordulhat, hogy az adatok importálásakor később váratlan eredmények jelennek meg.
Sík fájl importálása varázsló
Az Import Síkfájl Varázsló lapjain végiglépve importálhatja a szövegfájlként mentett adatokat.
Az Előfeltételek szakaszban leírtaknak megfelelően az Excel-adatokat szövegként kell exportálnia, mielőtt importálni tudja azokat az Egybesimított fájl importálása varázslóval.
Az Egybesimított fájl importálása varázslóval kapcsolatos további információkért lásd: Egybesimított fájl importálása az SQL Varázslóba.
TÖMEGES BESZÚRÁS parancs
BULK INSERT egy Transact-SQL parancs, amelyet az SQL Server Management Studióból futtathat. Az alábbi példa betölti az adatokat a Data.csv vessző által tagolt fájlból egy meglévő adatbázistáblába.
Az Előfeltételek szakaszban leírtaknak megfelelően az Excel-adatokat szövegként kell exportálnia, mielőtt importálni tudja BULK INSERT.
BULK INSERT nem tudja közvetlenül olvasni az Excel-fájlokat. A BULK INSERT paranccsal importálhatja a helyileg vagy az Azure Blob Storage-ban tárolt CSV-fájlokat.
USE ImportFromExcel;
GO
BULK INSERT Data_bi FROM 'C:\Temp\data.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
GO
Az SQL Serverrel és az Azure SQL Database-rel kapcsolatos további információkért és példákért tekintse meg az alábbi cikkeket:
- BULK INSERT vagy OPENROWSET(BULK...) használatával importálhat adatokat az SQL Server
- Tömeges beszúrás (Transact-SQL)
A nagymennyiségű adatmásolási eszköz (bcp)
A bcp eszköz a parancssorból fut. Az alábbi példa betölti az adatokat a Data.csv vessző által tagolt fájlból a meglévő Data_bcp adatbázistáblába.
Az Előfeltételek szakaszban leírtaknak megfelelően az Excel-adatokat szövegként kell exportálnia, mielőtt importálni tudja bcp. A bcp eszköz nem tudja közvetlenül olvasni az Excel-fájlokat. A helyi tárolóba mentett tesztfájlból (CSV) importálható az SQL Serverbe vagy az SQL Database-be.
Fontos
Az Azure Blob Storage-ban tárolt szöveges (CSV-) fájlokhoz használja BULK INSERT vagy OPENROWSET. Példaként lásd: Az adatok importálása az SQL Serverbe a BULK INSERT vagy az OPENROWSET(BULK...) használatával.
bcp.exe ImportFromExcel..Data_bcp in "C:\Temp\data.csv" -T -c -t ,
További információ a bcp-ről a következő cikkekben található.
- Tömeges adatok importálása és exportálása a bcp (SQL Server) segítségével
- bcp segédprogram
- Adatok előkészítése tömeges exportálásra vagy importálásra
Másolás varázsló (ADF)
Az Azure Data Factory (ADF) Másolás varázslójának lapjaira lépve importálhatja a szövegfájlként mentett adatokat.
Az Előfeltételek szakaszban leírtaknak megfelelően az Excel-adatokat szövegként kell exportálnia, mielőtt importálni tudja azOkat az Azure Data Factory használatával. A Data Factory nem tudja közvetlenül olvasni az Excel-fájlokat.
A Másolás varázslóval kapcsolatos további információkért tekintse meg a következő cikkeket:
- Data Factory Másolóvarázsló
- oktatóanyag: Folyamat létrehozása másolási tevékenységgel a Data Factory Másolás varázslóval.
Azure Data Factory
Ha ismeri az Azure Data Factoryt, és nem szeretné futtatni a Másolás varázslót, hozzon létre egy másolási tevékenységet tartalmazó folyamatot, amely a szövegfájlból az SQL Serverbe vagy az Azure SQL Database-be másol.
Az Előfeltételek szakaszban leírtaknak megfelelően az Excel-adatokat szövegként kell exportálnia, mielőtt importálni tudja azOkat az Azure Data Factory használatával. A Data Factory nem tudja közvetlenül olvasni az Excel-fájlokat.
A Data Factory-források és -fogadók használatáról az alábbi cikkekben talál további információt:
Az adatok Azure Data Factoryvel való másolásának megismeréséhez tekintse meg az alábbi cikkeket:
- Adatok áthelyezése Másolási Aktivítás használatával
- Oktatóanyag: Folyamat létrehozása másolási művelettel az Azure portálon