Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Excel dosyalarından SQL Server'a veya Azure SQL Veritabanı'na veri aktarmanın çeşitli yolları vardır. Bazı yöntemler, verileri tek bir adımda doğrudan Excel dosyalarından içeri aktarmanıza olanak sağlar; diğer yöntemler, excel verilerinizi içeri aktarmadan önce metin olarak (CSV dosyası) dışarı aktarmanızı gerektirir.
Bu makale, sık kullanılan yöntemleri özetler ve daha ayrıntılı bilgi için bağlantılar sağlar. SSIS veya Azure Data Factory gibi karmaşık araç ve hizmetlerin eksiksiz bir açıklaması bu makalenin kapsamı dışındadır. İlginizi çeken çözüm hakkında daha fazla bilgi için sağlanan bağlantıları izleyin.
Excel'den verileri içeri aktarmanın çeşitli yolları vardır. Bu araçlardan bazılarını kullanmak için SQL Server Management Studio (SSMS) yüklemeniz gerekir.
Excel'den verileri içeri aktarmak için aşağıdaki araçları kullanabilirsiniz:
Önce metne aktar (SQL Server ve Azure SQL Veritabanı) | Doğrudan Excel'den (yalnızca şirket içi SQL Server) |
---|---|
Düz Dosya İçeri Aktarma Sihirbazı | SQL Server İçeri ve Dışarı Aktarma Sihirbazı |
BULK INSERT deyimi | SQL Server Integration Services (SSIS) |
Toplu kopyalama aracı (bcp) | OPENROWSET işlevi |
Kopyalama Sihirbazı (Azure Data Factory) | |
Azure Data Factory |
Excel çalışma kitabından birden çok çalışma sayfasını içeri aktarmak istiyorsanız, bu araçlardan herhangi birini genellikle her sayfa için bir kez çalıştırmanız gerekir.
Daha fazla bilgi için bkz. sınırlamaları ve Excel dosyalarına veya Excel dosyalarından veri yüklemeyle ilgili bilinen sorunlar.
SQL Server İçeri ve Dışarı Aktarma Sihirbazı'nı kullanarak verileri doğrudan Excel dosyalarından içeri aktarın. Ayrıca ayarları daha sonra özelleştirip yeniden kullanabileceğiniz bir SQL Server Integration Services (SSIS) paketi olarak kaydedebilirsiniz.
SQL Server Management Studio'da, SQL Server Veritabanı Altyapısı örneğine bağlanın.
veritabanları genişletin.
Bir veritabanına sağ tıklayın.
Görevleröğesini seçin.
Veri İçe Aktarma veya Veri Dışa Aktarma seçin:
Bu işlem sihirbazı başlatır:
Daha fazla bilgi için aşağıdaki makalelere bakın:
SQL Server Integration Services (SSIS) hakkında bilgi sahibiyseniz ve SQL Server İçeri ve Dışarı Aktarma Sihirbazı'nı çalıştırmak istemiyorsanız, bunun yerine veri akışında Excel Kaynağını ve SQL Server Hedefini kullanan bir SSIS paketi oluşturabilirsiniz.
Daha fazla bilgi için aşağıdaki makalelere bakın:
SSIS paketleri oluşturmayı öğrenmeye başlamak için etl paketi oluşturma öğreticisine bakın.
Önemli
Azure SQL Veritabanı'nda doğrudan Excel'den içeri aktaramazsınız. Önce verileri bir metin (CSV) dosyasınadışarı aktarmanız gerekir.
Excel veri kaynaklarına bağlanan Office'e dahil edilen ACE sağlayıcısı etkileşimli istemci tarafı kullanımına yönelik olduğundan aşağıdaki örneklerde JET sağlayıcısı kullanılır.
Transact-SQL OPENROWSET
veya OPENDATASOURCE
işlevini kullanarak excel dosyalarındaki verileri doğrudan SQL Server'a aktarın. Bu kullanım, dağıtılmış sorguolarak adlandırılır.
Önemli
Azure SQL Veritabanı'nda doğrudan Excel'den içeri aktaramazsınız. Önce verileri bir metin (CSV) dosyasınadışarı aktarmanız gerekir.
Dağıtılmış sorguyu çalıştırabilmeniz için önce aşağıdaki örnekte gösterildiği gibi Ad Hoc Distributed Queries
sunucu yapılandırma seçeneğini etkinleştirmeniz gerekir. Daha fazla bilgi için bkz. sunucu yapılandırması : Geçici Dağıtılmış Sorgular.
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
Aşağıdaki kod örneği, Excel Sheet1
çalışma sayfasındaki verileri yeni bir veritabanı tablosuna aktarmak için OPENROWSET
kullanır.
USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.JET.OLEDB.4.0',
'Excel 8.0; Database=C:\Temp\Data.xls', [Sheet1$]);
GO
OPENDATASOURCE
ile aynı örnek aşağıda verilmiştır.
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
İçeri aktarılan verileri yeni bir tablo oluşturmak yerine varolan bir tablosuna eklemek için, önceki örneklerde kullanılan SELECT ... INTO ... FROM ...
söz dizimi yerine INSERT INTO ... SELECT ... FROM ...
söz dizimini kullanın.
Excel verilerini içeri aktarmadan sorgulamak için standart SELECT ... FROM ...
söz dizimini kullanmanız gerekir.
Dağıtılmış sorgular hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
1 Dağıtılmış sorgular SQL Server'da hala desteklenir, ancak bu özelliğin belgeleri güncelleştirilmez.
Sql Server'dan Excel dosyasına kalıcı bir bağlantı bağlı sunucuolarak da yapılandırabilirsiniz. Aşağıdaki örnek, var olan Excel bağlı sunucusu EXCELLINK
Data
çalışma sayfasındaki verileri Data_ls
adlı yeni bir SQL Server veritabanı tablosuna aktarır.
USE ImportFromExcel;
GO
SELECT * INTO Data_ls FROM EXCELLINK...[Data$];
GO
Sql Server Management Studio'dan (SSMS) veya aşağıdaki örnekte gösterildiği gibi sp_addlinkedserver
sistem saklı yordamını çalıştırarak bağlantılı sunucu oluşturabilirsiniz.
DECLARE @RC INT;
DECLARE @server NVARCHAR(128);
DECLARE @srvproduct NVARCHAR(128);
DECLARE @provider NVARCHAR(128);
DECLARE @datasrc NVARCHAR(4000);
DECLARE @location NVARCHAR(4000);
DECLARE @provstr NVARCHAR(4000);
DECLARE @catalog 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';
EXEC @RC = [master].[dbo].[sp_addlinkedserver] @server,
@srvproduct,
@provider,
@datasrc,
@location,
@provstr,
@catalog;
Bağlı sunucular hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Hem bağlı sunucular hem de dağıtılmış sorgular hakkında daha fazla örnek ve bilgi için aşağıdaki makaleye bakın:
Bu sayfada açıklanan yöntemlerin geri kalanını (BULK INSERT
deyimi, bcp aracı veya Azure Data Factory) kullanmak için önce Excel verilerinizi bir metin dosyasına aktarmanız gerekir.
Excel'de Dosya | Farklı Kaydet seçeneğini seçin ve ardından hedef dosya türü olarak Metin (Sekmeyle ayrılmış) (*.txt) veya CSV (Virgülle ayrılmış) (*.csv) seçin.
Çalışma kitabından birden çok çalışma sayfasını dışarı aktarmak istiyorsanız, her sayfayı seçin ve bu yordamı yineleyin. Farklı Kaydet komutu yalnızca etkin sayfayı dışarı aktarır.
İpucu
Veri içeri aktarma araçlarıyla ilgili en iyi sonuçları elde etme amacıyla, yalnızca sütun üst bilgilerini ve veri satırlarını içeren sayfaları kaydedin. Kaydedilen veriler sayfa başlıkları, boş satırlar, notlar vb. içeriyorsa, daha sonra verileri içeri aktardığınızda beklenmeyen sonuçlar görebilirsiniz.
Düz Dosya İçeri Aktarma Sihirbazı'nın sayfalarında ilerleyerek metin dosyası olarak kaydedilen verileri içeri aktarın.
Önkoşullar bölümünde daha önce açıklandığı gibi, Düz Dosya İçe Aktarma Sihirbazı'nı kullanarak içe aktarma işlemine başlamadan önce Excel verilerinizi metin olarak dışa aktarmanız gerekir.
Düz Dosyayı İçeri Aktarma Sihirbazı hakkında daha fazla bilgi için bkz. Düz Dosyayı SQL'e Aktarma Sihirbazı.
BULK INSERT
, SQL Server Management Studio'dan çalıştırabileceğiniz bir Transact-SQL komutudur. Aşağıdaki örnek, virgülle ayrılmış Data.csv
dosyasındaki verileri var olan bir veritabanı tablosuna yükler.
daha önce Önkoşullar bölümünde açıklandığı gibi, excel verilerinizi içeri aktarmak için BULK INSERT
kullanabilmek için önce metin olarak dışarı aktarmanız gerekir.
BULK INSERT
Excel dosyalarını doğrudan okuyamıyor.
BULK INSERT
komutuyla, yerel olarak veya Azure Blob depolamada depolanan bir CSV dosyasını içeri aktarabilirsiniz.
USE ImportFromExcel;
GO
BULK INSERT Data_bi FROM 'C:\Temp\data.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
);
GO
SQL Server ve Azure SQL Veritabanı hakkında daha fazla bilgi ve örnek için aşağıdaki makalelere bakın:
bcp aracı komut isteminden çalıştırılır. Aşağıdaki örnek, virgülle ayrılmış Data.csv
dosyasındaki verileri mevcut Data_bcp
veritabanı tablosuna yükler.
Önkoşullar bölümünde daha önce açıklandığı gibi, Excel verilerinizi metin olarak dışarı aktardıktan sonra bcp kullanarak içeri aktarabilirsiniz. bcp aracı Excel dosyalarını doğrudan okuyamaz. Yerel depolama alanına kaydedilmiş bir test (CSV) dosyasından SQL Server veya SQL Veritabanı'na aktarmak için kullanın.
Önemli
Azure Blob depolamada depolanan bir metin (CSV) dosyası için BULK INSERT
veya OPENROWSET
kullanın. Örnek için bkz. VERILERI SQL Serveriçeri aktarmak için BULK INSERT veya OPENROWSET(BULK...) kullanma.
bcp.exe ImportFromExcel..Data_bcp in "C:\Temp\data.csv" -T -c -t ,
vehakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Data Factory (ADF) Kopyalama Sihirbazı'nın sayfalarında ilerleyerek metin dosyası olarak kaydedilen verileri içeri aktarın.
Daha önce Önkoşullar bölümünde açıklandığı gibi, Azure Data Factory'yi kullanarak içeri aktarmadan önce Excel verilerinizi metin olarak dışarı aktarmanız gerekir. Data Factory, Excel dosyalarını doğrudan okuyamaz.
Kopyalama Sihirbazı hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Data Factory hakkında bilgi sahibiyseniz ve Kopyalama Sihirbazı'nı çalıştırmak istemiyorsanız, metin dosyasından SQL Server'a veya Azure SQL Veritabanı'na kopyalayan kopyalama etkinliğine sahip bir işlem hattı oluşturun.
Daha önce Önkoşullar bölümünde açıklandığı gibi, Azure Data Factory'yi kullanarak içeri aktarmadan önce Excel verilerinizi metin olarak dışarı aktarmanız gerekir. Data Factory, Excel dosyalarını doğrudan okuyamaz.
Bu Data Factory kaynaklarını ve havuzlarını kullanma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Data Factory ile veri kopyalamayı öğrenmeye başlamak için aşağıdaki makalelere bakın:
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunEğitim
Modül
Azure SQL Veritabanı'de veri işleme seçeneklerini keşfetme - Training
Azure SQL Veritabanı'de REST uç noktalarını çağırmayı ve Azure İşlevleri kullanarak verileri işlemeyi öğrenin. Ayrıca, Azure SQL Veritabanı'a ve Azure SQL Veritabanı verileri içeri ve dışarı aktarmaya yönelik çeşitli araçları ve seçenekleri keşfedin.
Sertifikasyon
Microsoft Sertifikalı: Azure Veritabanı Yöneticisi Uzmanlık - Certifications
Microsoft PaaS ilişkisel veritabanı tekliflerini kullanarak bulut, şirket içi ve karma ilişkisel veritabanları için SQL Server veritabanı altyapısını yönetme.
Belgeler
Import Flat File to SQL - SQL Server
Import Flat File Wizard is a simple way to copy data from a .csv or .txt file to a new database table. This article shows you how and when to use the wizard.
Start the SQL Server Import and Export Wizard - Integration Services (SSIS)
Start the SQL Server Import and Export Wizard
Connect to a Flat File Data Source (SQL Server Import and Export Wizard)