Adım Adım sql server ' a excel den veri aktarma işlemi.
Sql Server ' a Excel den veri aktarımı (import) ' işleminin bir çok yöntemi vardır.Bunun en basit yollarından biri Sql server import / export aracını kullanmaktır.
Sql server import aracıyla access,text(txt,csv),excel vs gibi veriler hızlı bir şekilde aktarılabilir.
Gelelim SQL Server 'a Adım Adım Excel 'den Veri Aktarma İşlemine
Daha önceki sql makalelerimde paylaşmıs oldugum transfermarket adındaki veritabanı üzerine excel den bir futbol takımı verisi aktaracağım.
Elimizde excel halinde arjantin milli takımının oyuncu bilgileri listesi var olduğunu farzedelim.
Başlıklarla birlikte toplam 55 satır kayıt var.Yani biz başlıklar haric 54 tane futbolcu bilgisi aktarmış olacağız.
Sql Server ' ı Açıp aktarım yapmak istediğimiz veritabanı nın üzerine sağ tıklayalım ve Task > Import Data Yolunu takip edelim
Karsılama ekranını geçtikten sonra Data Source : Aktarmak istediğimiz veri dosyasının kaynağını seçiyoruz.
First row has column names : kutucugunu işaretlediğimiz zaman exceldeki birinci satırı başlıklar olarak atar.Eğer seçmezseniz Sql server otomatik olarak her kolonu F1,F2,F3 şeklinde isimlendirir.
Next ' e tıklayıp bir sonraki işleme geçebiliriz.
Burada ise import edeceğimiz verinin , import edecileği yeri belirliyoruz.Ardından next diyoruz.
Burada ise Istersek sorgulama yontemi kullanabilir istersek de otomatik olarak aktarımı saglamasını seçebiliriz , resimdeki gibi birden fazla veriyi kopyala seçeneğini seçip ilerleyelim.
Run immediately kutusu hali hazırda seçili olarak gelir ve next veya finish diyerek işlemi bitiriz.
Sonuc ekranında da 54 tane oyuncu bilgisi istediğimiz tablo veri tabanına aktarılmıs oldugunun bilgisini bize verir.
Son olarak da Sql de test sonucunu paylasarak son durumu gözden geçirmiş olalım.
Tesekkur Ederim!
YanıtlaSilRica ederim ! blog'uma izleyici olarak katılırsanız sevinirim
SilHocam bunu yapıyorum da satır sayısı 1 milyon a yakın olunca atmıyor :/
YanıtlaSilsatır sayısıyla ilgisi olduğunu zannetmiyorum,ne hatası verdiğini incelemen gerekir.En basitinden 1 milyon satırlık bir excel dosyan varsa bunu iki excel dosyasına paylaştırabilir ve o şekilde aktarmayı deneyebilirsin.
SilHocam 65536 satır alıyor benimse çok excel dosyam var 1er milyon luk
YanıtlaSilŞimdi burak kardeşim öncelikle yazdığın yazı çok faydalı bunun için teşekkür ederim. yanlız benim öğrenmek istediğim başka bir şey var. bunun yapılabildiğine inanıyorum. Bu konuda bana yardımcı olursan çok sevinirim. sıkıntımı belirteyim. şimdi sql de bir ogrenci diye vt olsun. bu veritabanında ogrencino ve notu diye iki değer olsun. burada 10 tane ogrenci kayıtlı olsun ogrencino değerleri dolu notu değerleri ise null olsun. elimizde bitanede excel var bunda da iki kolon var burda da ogrencino ve notu kolonu var ogrenciler burda karışık bi durumda ogrencinoları dolu not kolonu da dolu. benim istediğim bu exceldeki veriyi var olan veritabanına sadece notunu aktarma. yani bunu tek tek elle yapmak yerine sorguyu yazalım otomatik olarak notları olsın ogrenci noya göre sql deki ogrenci vt na atsın bunu nasl yapabiliriz ? bu konuda bana yardımcı olursan çok sevinirim. yazılarının başarılarını dilerim.
YanıtlaSilRica ederim,ogrenci isimlerini eşleştirerek , not kısmını güncelleyebilirsin, bunu da join ve update lere çalışarak yapabilirsin.Kolay Gelsin
SilHocam bilgi için teşekkürler.
YanıtlaSilBenim sorum şu: Var olan bir sql tablosuna, exceldeki ilgili kolonları atayarak aktarma yapabilir miyiz? (Yani A1=Isim, A2=Tel gibi...)
Kardes aradigin bu sanirim ayni islemi ben cok uzun sure aradim sonunda buldum sen de benim gbi oyalanma.
Silhttp://m.youtube.com/watch?v=p11V_S4hEgA
teşekkürler;
YanıtlaSilvar olan bir sql tablosuna , elindeki excel tablosunu aktarabilirsin,excel dosyanı sectıkten sonra aktarmak istediğin tabloyu seçeceksin , select source table and views(6.resim)
kısmında aktarmak istediğin tabloyu seçebilir ve excel dosyanı aktrabilirsin,örneğin excel deki kolonun TEL sql de ki kolonun TELEFON ise önce edit mappings e tıklayığ ordan kolonları eşleştirmen gerekir aksi takdirde aktarım olmaz.
Hocam selamlar, bir sorum olucaktı sizlere.
YanıtlaSilexcell dosyamda 2000 küsür kayır var. değer biçimi nvarchar 255 olan bir sütununda null olan değerlerde var sayısal değerlerde var. Göstermiş olduğunuz şekilde excell'i içeri aktardığımda sayısal rakamları boş geçip tüm satırı null olarak belirtiyor. Daha öncesinde karşılaşmıydınız bu şekilde bir hatayla yardımcı olursanız çok sevinirim.
hayırlı akşamlar.
merhaba; bildiğiniz gibi nvarchar hem rakam hem metin ifadelerini bir arada barındırabiliyor.dolayısıyla null görünmesinin sebebi excel'den kaynaklı.Excel hücresini text olarak biçimlendirirsen sorunun çözülür,muhtemelen aktarmak istediğin kolonun general formatında onu hücre biçimlendir den text ' e dönüştür.bu işlemi yaptıktan sonra aktarırsan null olarak aktarmanın önüne geçmiş olursun.
Silbloga izleyici olarak katılırsan sevinirim.
Selamlar
bu konu ile alakalı bir video sizdende yardım alarak yaptım. Paylaşımınız için teşekkürler.Güzel bir makale olmuş.
YanıtlaSilhttp://bilalbozduman.blogspot.com.tr/2016/07/sql-tablo-verilerini-exel-ile.html
Teşekkürler,işinize yaramasına sevindim.İyi çalışmalar
SilTITLE: SQL Server Import and Export Wizard
YanıtlaSil------------------------------
The operation could not be completed.
------------------------------
ADDITIONAL INFORMATION:
'Microsoft.ACE.OLEDB.12.0' sağlayıcısı yerel makine kayıtlı değil. (System.Data)
------------------------------
BUTTONS:
OK
------------------------------
Merhaba hocam ben bu hatayı alıyorum nedeni nedir acaba
Merhaba , odbc driverlar'ın eksiktir ondan kaynaklıdır muhtemelen,
SilSQL Server 'a Excel 'den Sorgu ile Veri Aktarma (Openrowset) yazıma bakarsan orada; Öncelikle veri kaynakları için iki tane indirmeniz gereken dosya var. Diye bir cümle var ve onun altında
2007 Office System Driver: Data Connectivity Components
Microsoft Access Database Engine 2010 Redistributable diye iki tane link var,onları indirip kurarsan sorunun çözülür.
Ayrıca şuna da dikkat etmen de yarar var, sql ve office 'in aynı mimaride olması önemli, ikisininde 64 bit olması gibi.
Bloga takipçi olarak katılırsan sevinirim
Kolay gelsin.
Hocam SQL ve excel ilişkisi içinde bir sorum olacak irtibat kurabileceğim bir mail adresinizi alabilirmiyim?
YanıtlaSil