SQL (Structured Query Language), veritabanı yönetim sistemlerinde verileri yönetmek, sorgulamak ve işlemek için yaygın olarak kullanılan bir dildir. SQL fonksiyonl...
SQL Server Excel'den Veri Çekme
Merhaba arkadaşlar bu makalemde Microsoft SQL Server Excel’den veri çekmeyi göstereceğim. Özellikle eski sistemler verilerini Excel'de tutmakta veya Excel formatında dışarıya verileri aktararak saklamaktadır. Yeni bir sisteme geçildiğinde iste bu verilerin aktarımı söz konusu olmaktadır. Bu veriler tek tek elle giremeyeceğimiz için SQL Server'a Excel'den kolaylıkla verilerin aktarımını yapabilmekteyiz. Bu aktarımı 2 farklı yol göstererek açıklayacağım. Birincisi Excel'deki veriyi var olan tablomuza aktarma, ikincisi ise Excel'deki veriyi SQL Server'daki veri tabanımıza yeni bir tablo oluşturarak veri aktarmını göstereceğim. Dilerseniz yazıya göz attıktan sonra SQL Server Excel’den Veri Çekme adlı videoyu izleyerek daha detaylı bilgi edinebilir ve uygulayabilirsiniz.
Bu uygulamamız için veri tabanımızda Provinces adlı tablo oluşturdum. Tablomuzda Id ve Name alanları bulunmaktadır.
Excel dosyamızda ise ProvinceName sütunu altında 10 adet il bulunmaktadır.
Excel'deki Veriyi Var Olan Tabloya Aktarma
İlk yöntemimiz olan var olan bir tabloya veri aktarma işlemine başlayabilmek için Veri tabanı > Tasks > Import Data yolunu takip etmeliyiz.
Karşımıza çıkan Wizard'ı geçerek işleme devam edebiliriz.
Şimdi ise hangi türde bir veri kaynağı seçeceğiz onu belirlememiz gerekiyor. Biz Excel'den veri çekeceğimiz için Microsoft Excel seçeneğini seçiyoruz.
Veri kaynağını seçtikten sonra Browse alanına tıklayarak Excel dosyamızın bulunduğu konuma giderek dosyayı seçiyoruz. Hemen ardından ise Excel versiyonumuza uyumlu olacak şekilde versiyon seçimini yapıyoruz. Burada şunu belirtmek isterim SQL Server 2014'de Excel dosyalarınız Microsoft Office 2007 ve üzeri ise Microsoft 2007 seçili olması sorun yaratmayacaktır.
Bu adımda dikkat etmeniz gereken önemli bir nokta var. First row has column names varsayılan olarak seçili gelmektedir. Bunun sebebi Excel'de verilerimiz genelde belirli bir sütunun altında yer alır burada da Excel dosyanızdaki verilerin ilk satırı sütun olarak kabul edilsin demek aslında. Eğer sütun var ise seçili kalmalı ama herhangi bir sütununuz yoksa işareti kaldırmalısınız yoksa ilk satırdaki veriniz gelmeyecektir.
Sırada elimizdeki Excel dosyasındaki veriyi nereye aktaracağımızı seçmemiz gerekiyor. Biz SQL Server'a aktaracağımız için Microsoft OLE DB Provider for SQL Server seçeneği seçmeliyiz. Burada farklı hedeflere de aktarım yapabiliyorsunuz.
Seçmiş olduğum hedef sonucunda karşımıza SQL Server ile ilgili bilgiler yer almaktadır. Varsayılan olarak ayarların bir kısmını getirmektedir. Bu kısımda öncelikle Server Name alanımızı belirlemeliyiz. Authentication kısmında varsayılan olarak Use Windows Authentication gelir fakat siz uzaktaki bir SQL Server'ınıza bağlanmak isterseniz Use SQL Server Authentication seçeneğini seçerek kullanıcı adı ve şifre girerek bağlanıp veri tabanınızı seçebilirsiniz. Burada buna da değinmek istedim.
Tabi biz Windows üzerindeki SQL Server'a bağlanacağımız için Use Windows Authentication seçeneğini tekrar seçerek veri tabanımızı seçiyoruz.
Artık veri alacağımız kaynak ve verileri aktaracağımız kaynakları belirtmiş olduk. Şimdi ise Copy data from one or more tables or views seçeneği seçerek işleme devam edeceğiz. Bu seçenek bizim bir veya daha fazla tablodan veya görünümden veri kopyalamanızı sağlıyor. Write a query to specify the data to transfer bu seçenek ise verileri aktarmak için sorgu yazabiliyorsunuz.
Bu adımda kaynağımızı ve hedefimizi belirliyoruz. Source alanında bizim Excel dosyamız yer almaktadır. Sağ alandaki Destination ise seçmiş olduğumuz veri tabanımıza ait tablolar yer alıyor. Tabi burada illaki var olan tabloya değil yeni bir tabloya da veri aktararak da bu işlemi yağabilirsiniz. Bunu yazının sonlarına doğru ayrıntılı şekilde değineceğim. Şuan var olan tabloya veri aktarma işlemine devam edelim. Hedef olarak yazının başında göstermiş olduğum Provinces adlı boş bir tablomuz vardı. Aktaracağımız veriler için Provinces tablosunu seçtik. Seçimi yaptıktan sonra alttaki Edit Mappings kısmına giderek bazı ayarlamalar yapmamız gerekiyor.
Edit Mapping kısmında sütunlar ile ilgili işlemler yapabiliyoruz. Mapping alanında bize sütun hakkında bilgileri getiriyor. Source kısmında Excel'deki sütunun adı geldi. Destination alanında ise tablomuzda hangi alana karşılık geleceğini seçiyoruz. Yani Excel'deki ProvinceName alanı Provinces tablosundaki Name alanına karşılık gelmiş oldu. Böylelikle verilerinizi istediğiniz alanlara taşıyabiliyorsunuz. Veri tiplerine dikkat etmelisiniz uyuşmazlık olursa aktarım başarılı olmayacaktır. Bu ayarlamalarımızı yaptıktan sonra tamam diyerek işlemimize devam edebiliriz.
Bu kısımda yapılandırmalarımızı yaptık ileri diyerek sonraki adıma geçebiliriz.
Karşımıza gelen pencereler Next diyerek en sonda da Finish diyerek aktarımı başlatabiliriz. Aktarım başarılı olduğunda ise Close diyerek kapatabiliriz.
Provinces tablomuzu Edit Top 1000 Rows dediğimizde verilerimizin başarılı bir şekilde aktarıldığını görebilriz. Bu arada Edit Top 1000 Rows nasıl yapılıyor merak ediyorsanız SQL Server Edit Top 200 Rows Satır Sayısını Değiştirme adlı yazıma göz atabilirsiniz.
Excel'deki Veriyi Veri Tabanında Yeni Bir Tablo Oluşturarak Aktarma
Şimdi ise ikinci olarak söylemiş olduğum veri aktarırken var olan bir tablo değil de yeni bir tablo oluşturarak veri aktarmaya bakalım. Aşağıdaki adıma kadar süreç aynı devam etmektedir. Bu adımdan itibaren farklılıkları göstereceğim. Öncelikle birinci yöntemimizde Destination alanında var olan tablolardan seçim yapmıştık şimdi ise buraya oluşturacak olduğumuz tablonun ismini yazıyoruz. Yeni il tablosu olacağı için NewProvinces adlı bir tablo ismi yazdım. Sonrasında Edit Mappings kısmına giderek gerekli yapılandırmaları yapmamız gerekiyor.
Yapmış olduğumuz birinci veri aktarımındaki gibi burada sütun ile ilgili bazı yapılandırmalar yapmamız gerek. Burada farklı olarak sütunuz sizin oluşturmanız gerekiyor. Source yine olduğu gibi Excel'den gelen sütun ismi Destination alanı ise sizin tablonuzda oluşturmak istediğiniz alanın adını buraya yazmalısınız. Önceki tablodaki gibi Name yazdım. Sonrasında Type alanında ise uygun veri tipini seçmeliyiz. Nullable alanında ise bu alan boş olsun mu olmasın mı ona karar vereceğiz. İşaretlerseniz boş geçilebilir olacaktır. Son olarak Size alanından da veri uzunluğu belirleyerek tamam diyerek devam ediyoruz.
Önceki adımlarda yaptığımız gibi Next diyerek ve son olarak da Finish diyerek aktarımı başlatıyoruz. Success mesajını aldığımızda aktarımın başarılı olduğunu görebiliriz. Veri tabanımızdaki Tables alanını seçerek yukarıdaki Refresh yaparak yeni tablomuzu görebiliriz.
Gördüğünüz üzere NewProvinces tablomuza 10 adet kaydımız başarılı bir şekilde aktarılmış oldu.
SQL Server Excel’den Veri Çekme adlı videoyu izleyerek daha detaylı bilgi edinebilir ve uygulayabilirsiniz.
Umarım sizler için yararlı bir makale olmuştur. İyi çalışmalar dilerim sağlıcakla kalın.
SQL Server Excel’den Veri Çekme
Yorum yapabilmek için giriş yapmalısınız. Giriş yapmak için tıklayınız.