15 Haziran 2015 Pazartesi

SQL Server 'a Excel 'den Sorgu ile Veri Aktarma (Openrowset )


sql_veri_aktarma

 

Excel dosyalarını Sql server' a sorgu ile aktarma işlemi 

Excel ' de tutmuş olduğunuz verileri , zamanla daha düzenli ve daha pratik olması açısından sql tabloları haline getirmek isteyebilirsiniz.Veya Excel dosyalarınızı direk Sql server ' a aktararak çalışmak isteyebilirsiniz.Özellikle büyük veya büyüyen verilerde;excel üzerinde çalışmaya göre sql server üzerinde çalışmak hem daha kolay hem de daha pratiktir.

Bu doğrultuda excel dosyalarınızı Sql Server a aktarma ihtiyacı duyabilirsiniz.

Sql Server ' a veri aktarımı sadece Excel üzerinden değil text,access,mysql vs. gibi çeşitli veri barındıran tablo veya dosyalarını aktarımında kullanabilirsiniz.

Daha önceki yazımda ;
Sql Server ' ın kendi import export sihirbazının nasıl kullanıldığını öğrenmek ve excel verilerinizi aktarmak için SQL Server 'a Excel 'den Veri Aktarma ( Sql import from Excel )  başlıklı makaleme göz atabilirsiniz.

Excel dosyalarını Sql Server ' a aktarmanın birden çok yolu var . Bunlardan biri de sql üzerinde sorgu ile Excel dosyalarını aktarma yöntemidir.



Openrowset ile sadece veriyi aktarmakla kalmayıp , excel tablolarını sorgulayabilir ve çeşitli işlemler için kullanabilirsiniz.

Openrowset ' e başlamadan önce bir kaç basit ayar yapmanız gerekmekte.

Bunlardan birincisi odbc veri kaynakları ayarları,
Öncelikle veri kaynakları için iki tane indirmeniz gereken dosya var.


Sql server sunucunuzun üzerine sağ tuş - facets sekmesine tıklayın ve server configuration ' u seçin
ardından AdhocRemoteQueriesEnabled - false ise true yapın

excel_veri_aktarma


 veyahut uğraşmak istemiyorsanız .

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
 
sorgusunu kullanın.

Bu işlemleri tamamladıktan sonra gelelim Sql server ' a sorgu ile excel den nasıl veri aktarılacagına.

SELECT * into TABLO_ADI  FROM  OPENROWSET
('Microsoft.ACE.OLEDB.12.0','Excel 12.0 Xml;HDR=YES;Database=dosyayolu\dosyadı.xlsx','SELECT * FROM [Sheet1$]') 

Ekran görüntüsünde de olduğu gibi sonuç başarılı.Sorgu ile sql server ' a  excel dosyamızı aktarmış olduk.

excelden_veri_aktarma

Eğer ace ole db hatası alıyorsanız .

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
GO



sorgusunu çalıştırın.

Ms sql Server ' ı yönetici olarak çalıştırmanızda hata almanızı engelleyecektir.

Hiç yorum yok:

Yorum Gönder

Not: Yalnızca bu blogun üyesi yorum gönderebilir.

//Luckyorange//