Aracılığıyla paylaş


bcp_colfmt

Veri kaynak veya hedef biçimi, bir kullanıcı dosyayı belirtir.Bir kaynak biçimi olarak kullanıldığındabcp_colfmt veri kaynağı olarak kullanılan, varolan bir veri dosyası biçimini belirtir bir toplu kopyalama bir SQL ServerTablo.Hedef biçimi olarak kullanıldığında veri dosyası ile belirtilen sütun biçimi kullanılarak oluşturulurbcp_colfmt.

RETCODE bcp_colfmt (
        HDBC hdbc,
        INT idxUserDataCol,
        BYTE eUserDataType,
        INT cbIndicator,
        DBINT cbUserData,
        LPCBYTE pUserDataTerm,
        INT cbUserDataTerm,
        INT idxServerCol);

Bağımsız değişkenler

  • hdbc
    Is toplu kopyalama - etkin ODBC bağlantı tanıtıcısı.

  • idxUserDataCol
    Kullanıcı veri dosyasındaki hangi biçimde belirtilen sıra sütun sayısıdır.İlk sütun 1'dir.

  • eUserDataType
    Bu veri türü sütun kullanıcı dosya.Veritabanı tablosunda karşılık gelen sütun veri türü farklıysa ( idxServerColumn ), toplu kopyalama, verileri dönüştürür mümkün.

    SQL Server 2005desteği veri türü simgeleri SQLXML ve SQLUDTeUserDataType parametre.

    The eUserDataType parameter is enumerated by the SQL Server data type tokens in sqlncli.h, not the ODBC C data type enumerators.Örneğin, bir karakter dizesi, ODBC belirtebilirsiniz, SQL_C_CHAR yazın kullanarakSQL Server- özel SQLCHARACTER. yazın

    Belirtmek için varsayılan veri gösterimi içinSQL Serververi türü küme bu parametreyi 0.

    İçin bir toplu kopyalama dışındaSQL Serverbir dosyaya,eUserDataType , SQLDECIMAL veya SQLNUMERIC:

    • Kaynak sütun işlemiondalık veya sayısalVarsayılan duyarlık ve ölçeği kullanılır.

    • Kaynak sütun iseondalık veya sayısalkesinlik ve kaynak sütun ölçeği kullanılır.

  • cbIndicator
    Sütun veri içindeki uzunluğu/null göstergesinin uzunluğu bayt cinsinden belirtilir.Geçerli göstergesi uzunluğu (hiçbir gösterge kullanırken) 0, 1, 2, 4 veya 8 değerlerdir.

    Varsayılan belirlemek için toplu kopyalama göstergesi kullanımı, SQL_VARLEN_DATA için bu parametreyi ayarlayın.

    Önce tüm verileri doğrudan bellek ve veri dosyasını doğrudan uygulandıkları verileri önce göstergeleri görüntülenir.

    Birden fazla veri dosyası sütun uzunluğunu belirleyen yol (bir göstergesi ve en fazla sütun uzunluğu, ya da bir göstergesi ve Sonlandırıcı sırası gibi) kullanılırsa toplu kopyalama kopyalanan verinin en az tutarı neden olan bir seçer.

    Toplu kopya, kullanıcı araya girmeden veri biçimini ayarlar tarafından oluşturulan veri dosyalarını içeren sütun veri uzunluğu değişir veya sütun NULL değeri. kabul edebileceği göstergeleri

  • cbUserData
    Uzunluğu en fazla kullanıcı dosyadaki bu sütun's veri bayt cinsinden uzunluğu uzunluk göstergesi veya Sonlandırıcı hariç mi.

    kümecbUserData için SQL_NULL_DATA gösteren tüm değerleri, veri dosyasındaki sütun olmayan ya da boş. için küme olması gerekir

    AyarlamacbUserData SQL_VARLEN_DATA için sistem her sütunun. verilerin uzunluğunu belirlemelisiniz gösterir. Bazı sütunlar için bu anlamına, uzunluğu/null göstergesi önüne bir kopyadan verileri için oluşturulurSQL Server, ya da kopyalanan verilerdeki gösterge beklenenSQL Server.

    İçinSQL Serverkarakter ve ikili veri türlericbUserData SQL_VARLEN_DATA, SQL_NULL_DATA, 0, veya bazı pozitif bir değer. olabilir IfcbUserData SQL_VARLEN_DATA ve sistem uzunluk göstergesi, varsa ya da bir sonlandırıcı sırası. belirlemek için kullanır Uzunluk göstergesi hem bir sonlandırıcı sıra tarafından sağlanan, kopyalanan verinin en az tutarı, bir toplu kopyayı kullanır.IfcbUserData SQL_VARLEN_DATA ve bir SQL Serverkarakter veya ikili türü ve uzunluğu göstergesi kendisi bir sonlandırıcı sıra belirtilmişse, sistem verir bir hata iletisi, veri türünü gösterir

    IfcbUserData 0 ise veya pozitif bir değer sistemi kullanan cbUserData en büyük veri uzunluğu. Ancak ise pozitif yanındacbUserData, uzunluk göstergesi veya Sonlandırıcı sıra verilir, bu yöntem kullanarak, sistem veri uzunluğunu belirler, sonuçlar az kopyalanan verinin içinde.

    The cbUserData value represents the count of bytes of data.İse karakter verileri gösterilir, Unicode geniş karakterleri, daha sonra pozitif olarakcbUserData parametre değeri boyutunu bayt cinsinden her karakterin. çarpımı karakter sayısını gösterir.

  • pUserDataTerm
    Bu sütun için kullanılacak Sonlandırıcı sırası belirtilir.Bu parametre, diğer türleri sabit uzunlukta veya ikili veri durumunda uzunluğu tam olarak var olan bayt sayısını kaydetmek için bir gösterge için genellikle karakter veri türleri için kullanışlıdır.

    Ayıklanan veriler sonlandırma önlemek için veya bir kullanıcı dosyadaki verileri sonlandırılır yok olduğunu, göstermek için küme bu parametre NULL.

    Bir kullanıcı dosyası sütun uzunluğunu belirten birden fazla yol (bir sonlandırıcı ve bir uzunluk göstergesi ya da bir sonlandırıcı ve en fazla sütun uzunluğu gibi) kullandıysanız, kopyalanan verinin en az tutarı neden olan bir yığın kopyalama seçer.

    Toplu kopyalama API MBCS için Unicode karakter dönüşümü gerektiği gibi yapar.Bakım gerekir gerçekleştirilen Sonlandırıcı bayt dizesi hem bayt dize uzunluğunu olduğundan emin olmak için küme doğru.

  • cbUserDataTerm
    Bu sütun için kullanılacak Sonlandırıcı sırası uzunluğu bayt cinsinden belirtilir.Hiçbir Sonlandırıcı var veya istenen veri, ise küme bu değer 0.

  • idxServerCol
    Sıralama konumu sütun veritabanı tablosundaki.İlk sütun sayısı 1'dir.sütun sıralı konumunu tarafından bildirilenUyarılar.

    Bu değer 0 ise, toplu kopyalama veri dosyasındaki sütun yok sayar.

Verir

BAŞARISINA ya da başarısız olur.

Remarks

The bcp_colfmt function allows you to specify the user-file format for bulk copies.Toplu kopyalama için biçim, aşağıdaki bölümleri içerir:

  • Veritabanı sütunlarının bir eşleme kullanıcı dosyası sütunlarından.

  • Her kullanıcı dosyası sütun veri türü.

  • Her sütun için isteğe bağlı göstergesinin uzunluğu.

  • Verilerin kullanıcı dosyası sütun başına en fazla uzunluğu.

  • İsteğe bağlı Sonlandırıcı bayt sırası her sütun için.

  • İsteğe bağlı Sonlandırıcı bayt sırası uzunluğu.

Her arama içinbcp_colfmt Biçim için bir kullanıcı dosyası sütun. belirtir Örneğin, beş sütun kullanıcı veri dosyası, üç sütun için varsayılan ayarları değiştirmek için ilk çağrıbcp_columns**(5)**ve ayarlama, özel. Bu çağrıları üç ile beş kez çağrı bcp_colfmtKalan iki aramalar için kümeeUserDataType 0 ve küme cbIndicatorcbUserData ve 0, SQL_VARLEN_DATA, cbUserDataTerm ve 0 sırasıyla.Bu yordam tüm beş sütun, üç özel biçiminiz ve iki varsayılan biçimi kopyalar.

İçincbIndicator, bir büyük bir değer türü belirtmek için kullanılan 8 değerinin, artık geçerli.Yeni bir en büyük türü, karşılık gelen sütun olan bir alan için önek belirtilmişse, yalnızca 8'e ayarlanabilir.Ayrıntılar için bkz:bcp_bind.

The bcp_columns function must be called before any calls to bcp_colfmt.

Gereken aramabcp_colfmt kullanıcı dosya bir kez her sütun için

Aramabcp_colfmt birden fazla kez neden olan herhangi bir kullanıcı dosyası sütun için bir hata.

İçin bir kullanıcı dosyadaki tüm verileri kopyalamak gerekenSQL ServerTablo.Bir sütuna geçmek için ayarı sütun için veri biçimini belirtinidxServerCol Parametre 0. Bir sütuna geçmek istiyorsanız, türünü belirtmeniz gerekir.

The bcp_writefmt function can be used to persist the format specification.

bcp_colfmt Gelişmiş tarih ve saat özellikleri için destek

İçin kullanılan bilgileri aboutt kendisinin yazdığıeUserDataTypeparametre, tarih/saat türleri Bkz:Gelişmiş tarih veya saat türleri (OLE DB ve ODBC) için toplu kopyalama değişiklikleri.

Daha fazla bilgi için bkz:Geliştirmeler'nı (ODBC) tarih/saat.

See Also

Reference