CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Günümüzde CSV'yi SQL Server'a aktarmanın daha kolay yolları var. Daha az kod yazabilir veya grafiksel araçlar kullanabilirsiniz. CSV'yi bulut depolama alanından şirket içi SQL Server'ınıza bile alabilirsiniz. Bu gönderi bunu 3 kolay yolla nasıl yapabileceğinize odaklanacaktır.

İçindekiler
  1. CSV'yi SQL Server'a Neden Aktarmalısınız?
  2. SQL Server'a CSV Dosyası Nasıl İçe Aktarılır (3 Kolay Yol)
  3. TOPLU EKLEME
  4. SQL Server Management Studio CSV Araçlarını İçe Aktarma
CSV'yi SQL Server'a Neden Aktarmalısınız?

Vikipedi'de virgülle ayrılmış değerler veya CSV hakkında okudum  . CSV'nin 1972'de desteklendiğine inanabiliyor musunuz? Hangi sebepten dolayı?

Farklı platform ve mimarilere sahip 2 veya daha fazla sistem arasında veri alışverişi yapmak. Bugün, sebep hala aynı. 2 tescilli sisteminiz olduğunu düşünün. Biri  PayPal'ınki gibi tescilli bir NoSQL veritabanı kullanıyor . Diğeri ise SQL Server kullanıyor. Bu, bir Japon'un bir Estonyalı ile konuşması gibi. Anlamak neredeyse imkansız. Çözüm nedir diye soracaksınız?

NoSQL veritabanından bir CSV dosyası dışa aktarın. Ardından, CSV dosyasını SQL Server'a içe aktarın. Yeni bir yazılım icat etmek yerine, olgun ve yaygın bir dosya biçimini değiştirin. Bu daha kolay ve daha az zaman alıcı olacaktır.

CSV'nin yararlı olabileceği yaygın senaryolar şunlardır:

  • Müşteriler bir banka aracılığıyla bir hizmet şirketine ödeme yapar. Daha sonra banka, ödeme kayıtlarını bir CSV dosyası kullanarak hizmet şirketine sağlar.
  • İşletme bünyesinde oluşturulan operasyonel sistemin bir ERP sistemine entegre edilmesi gerekmektedir.
  • Veri analizi için çeşitli SharePoint listelerinin bir SQL Server veritabanıyla senkronize edilmesi gerekir.
  • Katılım amaçlı bir biyometrik sistemin insan kaynakları sistemine entegre edilmesi gerekmektedir.

Bu JSON veya XML kullanılarak yapılabilse de, CSV kaynaktan üretilmesi daha basittir. Veri gereksinimi hiyerarşik değilse, CSV iyi bir uyum sağlayabilir. SQL Server kullanan hedef sistem ne olacak?  Gartner Peer Insights'ta 5 üzerinden 4,5 olarak derecelendirilmiştir . Buluttaki SQL Server veya  Azure SQL  de 2020'nin en iyi 3 DBMS'sinden biridir  . Bu nedenle, CSV'yi SQL Server'a aktarmayı öğrenmek çabaya değer. Bunu nasıl yapacağınızı soracaksınız. Cevap aşağıda ayrıntılı olarak açıklanmıştır.

SQL Server'a CSV Dosyası Nasıl İçe Aktarılır (3 Kolay Yol)

Başlamadan önce, SQL Server'da bir örnek CSV ve hedef tabloya ihtiyacımız var. Aşağıdaki ekran görüntüsünde kontrol edin.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Bu, CSV'yi içe aktarmak için 3 farklı yoldan birini kullanarak SQL Server'a yüklemek için kullanılacaktır. Bu nedenle, actor.csv dosyasının bir kopyasını buradan indirin  . Nereye kaydettiğinizi unutmayın. Bu eğitimde daha sonra buna ihtiyacınız olacak.

Bu arada hedef tablo SQL Server'da da aynı şekilde yapılandırılmıştır.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Bu eğitimde, sunucu adı olarak MS-SQLSERVER'ı kullanıyorum. Ve veritabanı adı olarak CSV-MSSQL-TEST'i kullanıyorum.

BULK INSERT'i kullanma

BULK INSERT,  SQL Server'da veri dosyalarını bir veritabanı tablosuna aktarmak için kullanılan bir komuttur. CSV dahil olmak üzere çeşitli dosya biçimlerini yüklemek için kullanılabilir. Biraz kodlamayı seviyorsanız, bu doğru yoldur. İşte CSV'yi SQL Server'a toplu olarak eklemenin kodu:

 truncate the table first
TRUNCATE TABLE dbo.Actors;
GO
 
 import the file
BULK INSERT dbo.Actors
FROM 'C:DocumentsSkyviacsv-to-mssqlactor.csv'
WITH
(
        FORMAT='CSV',
        FIRSTROW=2
)
GO

İlk komut hedef tablodaki tüm kayıtları siler. Ardından, BULK INSERT komutu hedef tabloyu ve CSV dosyasını ekler. CSV'nin konumu  Evrensel Adlandırma Kuralı'nın  (UNC) kurallarına uymalıdır. Ayrıca SQL Server'a hangi dosyayla ilgilendiğini söylemelisiniz. Bu durumda, dosya CSV biçiminde olduğundan FORMAT=CSV. Son olarak, verilerin hangi satırda başladığını belirtin. FIRSTROW = 2 çünkü ilk satır sütun adlarını içerir.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

SQL Server Management Studio'dan veya herhangi bir SQL Server aracından BULK INSERT komutunu verebilirsiniz. Bunu yapmanın bir diğer yolu da PowerShell'dir.

TOPLU EK KULLANIMININ ARTILARI VE EKSİLERİ

Artıları:

  • Sözdizimini biliyorsanız, yazmak GUI arayüzünü kullanmaktan daha hızlı olabilir;
  • Verileri ayrıştırmaya gerek yok. BULK INSERT sizin için yapar. Hedef sütun, veriler için çok küçük bir veri türü kullanıyorsa, bir hata oluşur;
  • SQL Server Agent'ta yürütmenin zamanlanması mümkün;
  • Ayrıca tek seferlik bir ithalat işi için de harika.

Eksileri:

  • Google Drive veya OneDrive gibi bulut depolama alanlarından CSV belirtemezsiniz;
  • Hedef veritabanı olarak yalnızca SQL Server'a izin verir;
  • Kodlama, çalıştırma ve izleme için teknik bir kişiye ihtiyaç vardır.

SQL Server Management Studio'yu Kullanma CSV Araçlarını İçe Aktarma

Kodlamayı tercih etmiyorsanız, bir diğer yararlı araç  SQL Server Management Studio'dan Veri Aktarma  (SSMS)'dir. İşte SSMS kullanarak CSV'yi MSSQL tablosuna aktarma yöntemi .

Adım 1. Nesne Gezgini'nden Veritabanları Klasörünü Genişletin

Öncelikle Object Explorer'a gitmeniz ve hedef veritabanını seçmeniz gerekir. Databases klasörünü genişletin. Aşağıdan kontrol edin.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Adım 2. Hedef Veritabanını Seçin

Bu örnekte hedef veritabanı CSV-MSSQL-TEST'tir. Bu veritabanına sağ tıklayın ve ardından  Görevler'i seçin . Ardından  Verileri İçe Aktar'a tıklayın .

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

SQL Server Import and Export Wizard penceresi bir karşılama ekranıyla birlikte görünecektir. Buradan  Next'e tıklayın .

Adım 3. Düz Dosya Kaynağı Seçin

Bu kısım veri kaynağını seçmenize izin verecektir. Bunun için açılır listeye tıklayın ve  Flat File Source'u seçin . Ardından  Next'e tıklayın .

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Adım 4. CSV Dosyasını Belirleyin

Şimdi dosyayı belirtmeniz gerekiyor.  Gözat'a  tıklayın ve ekran görüntüsünde gösterildiği gibi CSV dosyasının yolunu belirtin. İndirdiyseniz, indirme konumunu belirtin. Ardından, dosya türünde  CSV dosyalarını (*.csv) seçin . Ve sonrasında –  actor.csv . Aç'a tıklayarak devam edin  .

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Adım 5. Sütunları Yapılandırın

SSMS her sütun için doğru veri türlerini algılayamaz mı? Örnek verilerimizde doğru türlerin ve boyutların algılanması kapalı. Bu yüzden bunu kendimiz ayarlamamız gerekiyor.

Profesyonel ipucu:  Bir platformdan diğerine veri aktardığınızda, doğru türleri ve boyutları eşleştirmek en iyisidir. Neden mi? Hataları ve baş ağrılarını önlemek için.

Advanced'e tıklayarak başlayalım  . Sonra, sütunların bir listesini göreceksiniz. Her birine tıklayın ve türünü ve boyutunu ayarlayın.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Veri türlerine ve boyutlarına bağlı olarak, her sütun için ne ayarlayacağınız konusunda aşağıdaki tabloya bakın.

Sütun Adı Veri Türü ÇıktıSütunGenişliği
İD
dört baytlık işaretli tamsayı [DT_I4]
Yok
soy isim dize [DT_STR] 20
ilk adı dize [DT_STR] 20
ikinci ad dize [DT_STR] 20
ek dize [DT_STR] 3

Adım 6. Hedefi Seçin (SQL Server)

Şimdi, SQL Server'ı içe aktarma işleminin hedefi olarak belirtmeniz gerekir. Bunu yapmak için,  Microsoft OLE DB Provider for SQL Server'ı seçin . Ardından, SQL Server adını seçin ve gerekli kimlik bilgilerini girin.  Veritabanı  adını seçin ve İleri'ye tıklayın  .

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Adım 7. Veritabanı Tablosunu Belirleyin ve Sütun Eşlemelerini Kontrol Edin

Veritabanını seçtikten sonra, tabloyu da belirtmeniz gerekir.  Actors  tablosunu seçin.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Daha sonra kaynaktaki sütunların hedefle eşleşip eşleşmediğini görmek için Eşlemeleri Düzenle'yi  seçin  .

 

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Column Mappings penceresi göründüğünde, kaynak ve hedef sütunların eşleşip eşleşmediğini kontrol edin. Hedef tabloda satırları sil'i veya satırları ekle'yi seçebilirsiniz. Bizim durumumuzda, temizlemeye başlamak istiyoruz. Daha önce BULK INSERT kullanarak içe aktarmayı denediyseniz, hedef tabloda veri mevcuttur. Ve böylece bir hata oluşacaktır. Bunu önlemek için, Hedef tabloda  satırları sil'i seçin . Ve sonra,  Tamam'a tıklayın .

Son olarak hedef tablo için kurulumumuzu sonlandırmak için  İleri'ye tıklayın .

Adım 8. İsteğe bağlı olarak bir SSIS Paketine Kaydedin veya Hemen Çalıştırın

Tüm içe aktarma yapılandırmasını bir SSIS paketine kaydedebilirsiniz. Bunu seçerseniz, paketi düzenli aralıklarla çalışacak şekilde planlayabilirsiniz. Bizim durumumuzda, paketi hemen çalıştıracağız. Daha iyi anlamak için bir sonraki ekran görüntüsüne bakın.

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

Ardından,  seçtiğiniz ayarların özetini görmek için  İleri'yi  seçin. Veya içe aktarma işlemini çalıştırmak için Son'u  tıklayın. Son'u tıklarsanız bir sonraki pencerede ilerlemeyi göreceksiniz  .

CSV Dosyasını SQL Server'a Aktarmanın 2 Kolay Yolu

SSMS'de Import Data  kullanarak CSV'yi SQL Server'a aktarmak için hepsi bu kadar  . Ayrıca Import Flat File'ı da seçebilirsiniz  , ancak her zaman yeni bir tabloya dökülecektir. Ve bunu bir SSIS paketine kaydedemezsiniz.

SQL SERVER YÖNETİM STUDIO İÇE AKTARMA ARAÇLARINI KULLANMANIN ARTILARI VE EKSİLERİ

Artıları:

  • Hiçbir kodlamaya gerek yok;
  • Eğer sütun eşlemeleri kaynak ve hedefle eşleşiyorsa, bu işe yarar;
  • Sadece SQL Server'a değil, birçok veri kaynağına ve hedefine izin verir;
  • SSIS kataloğuna kaydetme ve planlama mümkündür, ancak tanımlananlarla sınırlıdır;
  • Tek seferlik bir ithalat işi için idealdir.

Eksileri:

  • CSV dosyasında sütun türlerinin ve boyutlarının özellikleri yoksa, sütun eşlemesi zahmetli olacaktır;
  • CSV dosyasını Google Drive, OneDrive veya benzeri bir bulut depolama alanından almanın bir yolu yok.

Şuradaki videoyada bakabilirsiniz.

Kaynak

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...