Excel dosyalarını Sql server' a sorgu ile aktarma işlemi
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
veyahut uğraşmak istemiyorsanız .
Bu işlemleri tamamladıktan sonra gelelim Sql server ' a sorgu ile excel den nasıl veri aktarılacagına.
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.
- 2007 Office System Driver: Data Connectivity Components
- Microsoft Access Database Engine 2010 Redistributable
Bu arada kullanmış oldugunuz Ms Office ile Ms sql server ' programlarının mimarilerinin ikisininde aynı (64 veya 32 bit) olması daha sorunsuz calışmasına sebeb olur .
Bu eklentileri kurduktan sonra , Ms sql Server üzerinde bir kaç ayar yapmamız gerekiyor.
ardından AdhocRemoteQueriesEnabled - false ise true yapın
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.GO
RECONFIGURE;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
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.('Microsoft.ACE.OLEDB.12.0','Excel 12.0 Xml;HDR=YES;Database=dosyayolu\dosyadı.xlsx','SELECT * FROM [Sheet1$]')
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.
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
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.