Aracılığıyla paylaş


Düz Dosyayı SQL'e Aktarma Sihirbazı

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

SQL Server İçeri ve Dışarı Aktarma Sihirbazı ile ilgili içerik için bkz. SQL Server İçeri ve Dışarı Aktarma Sihirbazı ile Verileri İçe ve Dışa Aktarma.

Düz Dosya İçeri Aktarma Sihirbazı, verileri düz bir dosyadan (.csv, .txt) veritabanınızdaki yeni bir tabloya kopyalamanın basit bir yoludur. Düz Dosya İçeri Aktarma Sihirbazı hem virgülle ayrılmış hem de sabit genişlikli biçim dosyalarını destekler. Bu genel bakış, bu sihirbazı kullanmanın nedenlerini, bu sihirbazı nasıl bulacağınız ve izleyebileceğiniz basit bir örneği açıklar.

Bu sihirbazı neden kullanmalıyım?

Bu sihirbaz, Program Örnekleri kullanarak Program Sentezi (PROSE) olarak bilinen akıllı bir çerçeveden yararlanarak mevcut içe aktarma deneyimini geliştirmek için oluşturulmuştur. Özel etki alanı bilgisi olmayan bir kullanıcı için verileri içeri aktarmak genellikle karmaşık, hataya açık ve yorucu bir görev olabilir. Bu sihirbaz aracı, içeri aktarma işlemini bir giriş dosyası ve benzersiz tablo adı seçmek kadar basit hale getirir. PROSE çerçevesi ise gerisini halleder.

PROSE, sütun adlarını, türlerini, sınırlayıcılarını ve daha fazlasını çıkarsamak için giriş dosyanızdaki veri desenlerini analiz eder. Bu çerçeve dosyanın yapısını öğrenir ve tüm zor işleri yapar, böylece kullanıcılar bunu yapmak zorunda değildir.

Önkoşullar

Bu özellik SQL Server Management Studio (SSMS) v17.3 veya sonraki sürümlerde kullanılabilir. En son sürümü kullandığınızdan emin olun. En son sürümü burada bulabilirsiniz.

Başlarken

Düz Dosya İçeri Aktarma Sihirbazı'na erişmek için şu adımları izleyin:

  1. SQL Server Management Studioaçın.
  2. SQL Server Veritabanı Altyapısı veya localhost örneğine bağlanın.
  3. Veritabanları genişletin, bir veritabanına (aşağıdaki örnekte test) sağ tıklayın, Görevlerüzerine gelin ve Verileri İçeri Aktar'ın üstündeki Düz Dosya İçeri Aktar seçin.

Düz Dosyayı İçeri Aktar menüsünün ekran görüntüsü.

Sihirbazın farklı işlevleri hakkında daha fazla bilgi edinmek için aşağıdaki öğreticiye bakın:

Eğitim

Bu kılavuzun amaçları doğrultusunda kendi düz dosyanızı kullanmaktan çekinmeyin. Aksi takdirde, bu öğreticide Excel'den alınan aşağıdaki CSV kullanılmaktadır ve bunu kopyalamakta özgürsünüz. Bu CSV'yi kullanıyorsanız example.csv olarak yazın ve masaüstünüz gibi kolay bir konuma csv olarak kaydettiğinizden emin olun.

Excel'in ekran görüntüsü.

Genel bakış:

  1. Erişim Sihirbazı
  2. Giriş Dosyasını Belirt
  3. Önizleme Verileri
  4. Sütunları Değiştirme
  5. Özeti
  6. Sonuçları

1. Adım: Erişim Sihirbazı ve Giriş Sayfası

Sihirbaza burada açıklandığı gibi erişin.

Sihirbazın ilk sayfası hoş geldiniz sayfasıdır. Bu sayfayı bir daha görmek istemiyorsanız, Bu başlangıç sayfasını bir daha gösterme'yi seçmekte özgürsünüz.

Düz Dosya İçeri Aktarma Sihirbazı'nın Giriş menüsünün ekran görüntüsü.

2. Adım: Giriş Dosyasını Belirtme

Giriş dosyanızı seçmek için Göz At'ı seçin. Varsayılan olarak, sihirbaz .csv ve .txt dosyaları arar. PROSE, dosya uzantısından bağımsız olarak dosyanın virgülle ayrılmış mı yoksa sabit genişlikli mi olduğunu algılar.

Yeni tablo adı benzersiz olmalıdır ve sihirbaz aksi takdirde daha fazla ilerlemenize izin vermez.

Düz Dosyayı İçeri Aktarma Sihirbazı Giriş Dosyası Menüsünü Belirtme ekran görüntüsü.

3. Adım: Verileri Önizleme

Sihirbaz, ilk 50 satır için görüntüleyebileceğiniz bir önizleme oluşturur. Herhangi bir sorun varsa iptal et'i seçin, aksi takdirde sonraki sayfaya geçin.

Düz Dosya İçeri Aktarma Sihirbazı Önizleme Verileri menüsünün ekran görüntüsü.

4. Adım: Sütunları Değiştirme

Sihirbaz doğru sütun adları, veri türleri vb. olduğuna inandığını tanımlar. Yanlışsa alanları burada düzenleyebilirsiniz (örneğin, veri türü int yerine float olmalıdır).

Boş değerlerin algılandığı sütunlarda "Null'lara İzin Ver" işaretlenir. Ancak bir sütunda null değerleri bekliyorsanız ve "Null'lara İzin Ver" işaretlenmemişse, tablo tanımını bir veya tüm sütunlarda null değerlere izin verecek şekilde burada güncelleştirebilirsiniz.

Hazır olduğunuzda devam edin.

Düz Dosyayı İçeri Aktarma Sihirbazı Sütunları Değiştir menüsünün ekran görüntüsü.

5. Adım: Özet

Bu yalnızca geçerli yapılandırmanızı görüntüleyen bir özet sayfasıdır. Sorun varsa önceki bölümlere geri dönebilirsiniz. Aksi takdirde, "finish" seçildiğinde içeri aktarma işlemi başlatılır.

Düz Dosya İçe Aktarma Sihirbazının Özet menüsünün ekran görüntüsü.

6. Adım: Sonuçlar

Bu sayfa içeri aktarma işleminin başarılı olup olmadığını gösterir. Yeşil onay işareti görünürse bu başarılı olmuştur, aksi takdirde yapılandırmanızı veya giriş dosyanızı herhangi bir hata için gözden geçirmeniz gerekebilir.

Düz Dosyayı İçeri Aktar Sihirbazı Sonuçları menüsünün ekran görüntüsü.

Sorun giderme

Düz Dosyayı İçeri Aktarma Sihirbazı, ilk 200 satırı temel alan veri türlerini algılar. Düz dosyadaki verilerin otomatik olarak algılanan veri türlerine uymadığı senaryolarda, içeri aktarma sırasında bir hata oluşur. Hata iletisi aşağıdakine benzer olacaktır:

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

Bu hatayı hafifletmek için taktikler:

  • Sütunları Değiştir adımındaki veri türü boyutlarının genişletilmesi, nvarchar sütununun uzunluğu gibi düz dosyanın geri kalanındaki verilerdeki değişimleri telafi edebilir.
  • Sütunları Değiştir adımında hata raporlamanın etkinleştirilmesiözellikle daha küçük bir sayıyla düz dosyadaki hangi satırların seçili veri türlerine uymayan veriler içerdiğini gösterir. Örneğin, ikinci satırın bir hataya neden olduğu düz bir dosyada, içeri aktarma işleminin hata bildirimiyle 1 aralığıyla çalıştırılması belirli bir hata iletisi sağlar. Dosyayı doğrudan konumda incelemek, tanımlanan satırlardaki verilere göre veri türlerinde daha fazla hedeflenen değişiklik sağlayabilir.

Sonuçları bildiren Düz Dosya İçeri Aktarma Sihirbazı'ndaki bir hatanın ekran görüntüsü.

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

Şu anda içeri aktarıcı, sistemin etkin kod sayfasına göre kodlama kullanmaktadır. Çoğu makinede bu varsayılan olarak ANSI'dır.

Sihirbaz hakkında daha fazla bilgi edinin.