Veri, toplu vermek veya alma için hazırlanıyor
Bu bölümde, toplu verme işlemleri ve toplu alma işlemleri gereksinimlerini planlamaya ilgili önemli noktalar ele alınmaktadır.
Not
Toplu alma, bir veri dosyası biçimi ile ilgili konusunda emin değilseniz, kullanabileceğiniz Kullanımıbcp yardımcı tablodan verileri bir veri dosyasına vermek.Bu dosyadaki her bir veri alan biçimlendirmesini biçimlendirme gerekli toplu alma verilere karşılık gelen tablo sütun olarak gösterir.Aynı veri alanları için veri dosyanızı biçimlendirme kullanın.
Veri dosyası biçimi konuları için toplu vermek
Kullanarak, bir toplu verme işlemi gerçekleştirmeden önce Kullanımıbcp komutu, aşağıdaki noktaları dikkate alın:
Verileri bir dosyaya dışa aktarıldığında Kullanımıbcp komutu belirtilen dosya adını kullanarak veri dosyasını otomatik olarak oluşturur.Bu dosya adı zaten kullanılıyor, toplu veri dosyasına kopyalanan alınan veriler, varolan dosya içeriğini üzerine yazar.
Bir veri dosyası için bir tablo veya Görünüm toplu vermek, tabloyu veya görünümü, kopyalanan toplu yüklenmekte olan SELECT izni gerektirir.
Microsoft SQL Server paralel taramalar, verileri almak için kullanabilirsiniz.Bu nedenle, toplu olan tablo satırları içinde bir örneğinden dışa SQL Server genellikle veri dosyasındaki belirli bir sırayla olmasını garanti edilmez. Toplu dışa tablo satırlarını veri dosyasındaki belirli bir sırada görünmesini sağlamak için QUERYOUT seçeneği toplu bir sorgudan vermek ve ORDER BY yan tümce belirtin.Daha fazla bilgi için bkz:Verileri bir sorgudan bir veri dosyasına verme.
Veri dosyası biçim gereksinimleri toplu alma
Dosya, bir veri dosyasından veri almak için aşağıdaki temel gereksinimleri karşılaması gerekir:
- Verileri satır ve sütün biçiminde olması gerekir.
Not
Veri dosyasının yapısını yapısı için aynı olması gerekmez SQL Server sütun atlandı veya toplu olarak alma işlemi sırasında yeniden olduğundan tablo.
Verileri veri dosyasındaki karakter gibi desteklenen bir biçim veya yerel bir biçiminde olmalıdır.
Verileri, karakter veya Unicode gibi yerel ikili biçimde olabilir.
Kullanarak veri almak için bir Kullanımıbcp komutu, INSERT deyim TOPLU veya INSERT... SELECT * FROM OPENROWSET(BULK...) deyim, hedef tablo önceden mevcut olmalıdır.
Veri dosyasının her alanda karşılık gelen sütun hedef ile uyumlu tablo.Örneğin, bir int alan içine yüklenemedi bir datetime sütun. Daha fazla bilgi için bkz: Yerel, karakter veya Unicode biçimleri kullanma ve Veri biçimleri için uyumluluk kullanma Kullanımıbcp belirtme.
Not
To specify a subset of rows to import from a data file rather than the entire file, you can use a bcp command with the -F first_row switch and/or -L last_row switch.Daha fazla bilgi için bkz:Kullanımıbcp yardımcı programı.
Sabit uzunluklu veya sabit genişlikli alanlar içeren veri dosyalarını almak için , biçim dosyası kullanmanız gerekir.Daha fazla bilgi için bkz: XML biçimi dosyaları anlama ve Örnek XML biçimi dosyaları.
Virgülle ayrılmış değerler (CSV) dosyaları tarafından desteklenmiyor SQL Server Toplu alma işlemleri. Ancak, bazı durumlarda, bir CSV dosyası için veri dosyası olarak kullanılabilir bir toplu alma veri SQL Server. Not alan ayırıcısı CSV dosyasının bir virgül olmasını sahip değil.Toplu alma için veri dosyası olarak kullanılabilir için , bir CSV dosyası aşağıdaki kısıtlamalarıyla uymanız gerekir:
Veri alanları, alan ayırıcısı hiçbir zaman içerir.
Yok ya da tüm veri alan değerleri tırnak içine alınmış ("").
Toplu alma verileri için bir Microsoft FoxPro veya Visual FoxPro Tablo (.dbf) dosyasına veya bir Microsoft Excel çalışma sayfası (.xls) dosyası, önceki kısıtlamaları için uygun bir CSV dosyası verileri dönüştürmeniz gerekir. Dosya uzantısı genellikle, .csv olur.Sonra .csv dosyası bir veri dosyası olarak kullanabileceğiniz bir SQL Server Toplu alma işlemi.
32-Bit sistemlerde, CSV verileri içine aktarmak mümkündür bir SQL Server tablo olmadan kullanarak toplu alma iyileştirmeleri openrowset with the Jet için OLE DB sağlayıcı. Veri ile aynı dizinde bulunan bir schema.ini dosyası tarafından tanımlanan şema ile Jet metin dosyaları tablolar nitelendirir kaynak.CSV verileri için schema.ini dosyasında parametrelerden olur "FORMAT CSVDelimited =".Bu çözümü kullanmak için , size nasıl Jet Test anlaşılması gerekir IISAMm operasyonlar —, bağlantı dizesi sözdizimi, schema.ini kullanımı, kayıt defteri seçenekleri vb.).Bu bilgileri en iyi kaynakları, Microsoft Access Yardım ve Bilgi Bankası (BB) makalelerinin ' dir.Daha fazla bilgi için bkz: Metin veri kaynağı sürücüsüne başlatılıyor, bağlantılı sunucu için güvenli bir Access veritabanları ile SQL Server 7.0 bir dağıtılmış sorgu nasıl kullanılır, NASIL YAPILIR:Ve için ISAM bağlanmak için kullanmak, Jet için OLE DB sağlayıcı 4.0 veritabanlarıNasıl yapılır: Jet sağlayıcının metin IIsam kullanarak sınırlandırılmış metin dosyası Aç.
Buna ek olarak, bir tabloya veri dosyasından veri toplu alma için şunlar gerekir:
Kullanıcıların, INSERT ve SELECT izinlerine tablo üzerinde olmalıdır.Kısıtlamalarını devre dışı bırakmak gibi veri tanımlama dili (DDL) işlemlerini gerektiren seçenekleri kullandıklarında kullanıcılar, ALTER tablo izni de gerekir.
Toplu veri BULK INSERT ya da Ekle'yi kullanarak alırken...SELECT * FROM OPENROWSET(BULK...), veri dosyasının her iki güvenlik profili tarafından okuma işlemleri için erişilebilir olmalıdır SQL Server (kullanarak kullanıcı oturumu, işlem SQL Server oturum açma sağlanan) göre veya Microsoft Kullanılan temsil edilen güvenlik altında Windows oturumu açma. Ayrıca, kullanıcı ADMINISTER TOPLU IŞLEMLERI dosyayı okuma izniniz olması gerekir.
Not
Bölümlendirilmiş bir görünüme toplu alma desteklenmiyor ve içeri aktarma verilerinin bölümlendirilmiş bir görünüme toplu girişimleri başarısız.
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
CSV verileri almak için Jet için OLE DB sağlayıcı'nı kullanma hakkında ek bilgi sağlar. |