SQL Server da Linked Server Özelliği ile Excel Dosyasından Veri Çekilmesi

SQL Server da yer alan linked server özelliği sayesinde farklı sql server lara bağlantı kurup sanki kendi sql serverımızda işlem yapıyor gibi diğer sunuculardaki veri tabanlarında rahatlıkla çalışabiliriz.

Birçok kurum ve iş yerinde kullanılan bu güzel özellik oldukça işleri kolaylaştırmaktadır.

Linked serverın bir özelliği de excel dokümanına da bağlantı sağlayıp excel deki verileri sql sorgular ile çekmemizi sağlayabilmesidir.

Bu işlem için “Microsoft Access Database Engine 2010 Redistributable” yazılımına ihtiyacımız var. Bunun sebebi de varsayılan olarak sql server da excel bağlantısı için gerekli olan sağlayıcı (provider) yer almaz.

Aşağıdaki resimde SQL server 2016 üzerindeki sağlayıcılar yer almaktadır.

 

Bu bağlantıdan gerekli olan yazılımı çekebilirsiniz.

https://www.microsoft.com/en-us/download/details.aspx?id=13255

 

23bit ve 64 bit sistemler için iki ayrı sürüm yer almaktadır.

Yazılımı yükledikten sonra sağlayıcılara Microsoft ACE OLEDB 12.0 eklenmelidir.

 

Excel sayfam da aşağıdaki gibi hazırlıyorum ve sunucumda bir klasörün altına kayıt ediyorum.

 

Bu aşamadan sonra sql server management studio yu yönetici hakları ile açıyoruz.

Yeni bir bağlantı sunucusu oluşturuyoruz.

 

İsmi önemli değil istediğinizi verebilirsiniz.

Provider olarak yüklemiş olduğumuz yazılım ile gelen sağlayıcıyı seçiyoruz.

Ürün ismi Excel.

Data source kısmına sunuma kayıt ettiğim excel dokümanını gösteriyorum.

Provider string ise en önemli kısımdır. Excel 97-2003 arasındaki sürümlerde bu bölüme “Excel 8.0” girmelisiniz. Diğer sürümler için “Excel 12.0” olmalıdır.

 

Bağlantı ayarlarını tamamlıyoruz. Excel dokümanımızda yer alan sheet i tablo olarak görmekteyiz.

 

Aşağıdaki sorgu ile verileri çekebiliriz.

SELECT * FROM EXCELVERI…[Sheet1$]

Paylaş

Leave a Reply

Your email address will not be published. Required fields are marked *