Aracılığıyla paylaş


bcp_setcolfmt

Bcp_setcolfmt işlevini yerini bcp_colfmt. Sütun harmanlama belirtirken bcp_setcolfmt işlevi kullanılmalıdır. bcp_setbulkmodebirden fazla sütun biçimi belirtmek için kullanılabilir.

Bu işlev, toplu kopyalama işlemi içinde sütun biçimini belirtme için esnek bir yaklaşım sağlar. Tek sütun biçimi öznitelikleri ayarlamak için kullanılır. Her arama için bcp_setcolfmt bir sütun biçiminde özniteliğini ayarlar.

Bcp_setcolfmt işlevi, bir kullanıcının dosyada veri kaynak ya da hedef biçimini belirler. Bir kaynak biçimi olarak kullanıldığında bcp_setcolfmt verileri tabloya toplu kopyalama veri kaynağı olarak kullanılan varolan bir veri dosyası biçimini belirtir SQL Server. Hedef kullanılan veri dosyasının belirtilen sütun biçimlerini kullanarak oluşturulduğunda, bcp_setcolfmt.

Sözdizimi

RETCODE bcp_setcolfmt (
        HDBC hdbc,
        INT field,
        INT property,
        void* pValue,
        INT cbValue);

Bağımsız değişkenler

  • hdbc
    Toplu kopyalama etkin odbc bağlantı tanıtıcısı olduğunu.

  • alan
    Kendisi için özellik ayarlıysa sıralı sütun sayısıdır.

  • özelliği
    Özellik sabitlerinden biri. Özellik sabitler bu tabloda tanımlanır.

    Özellik

    Değer

    Açıklama

    BCP_FMT_TYPE

    BAYT

    Bu kullanıcı dosyası sütun veri türüdür. Farklı veritabanı tablosunda karşılık gelen sütun veri türü, toplu kopyalama veri mümkünse dönüştürür.

    bcp_fmt_type parametresi tarafından SQL Server veri türü belirteçleri sqlncli.h yerine, odbc c veri türü numaralandırıcıları numaralandırılır. Örneğin, bir karakter dizesi, sqlcharacter kullanarak sql_c_char, yazın özgü odbc türü belirtebilirsiniz SQL Server.

    Varsayılan veri gösterimi belirtmek için SQL Serververi türü ayarla Bu parametre 0.

    Bir toplu kopya için SQL Server dışında bir dosyada bcp_fmt_type SQLDECIMAL veya SQLNUMERIC olduğunda:

    • Kaynak sütun değilse ondalık veya sayısal, varsayılan duyarlık ve ölçek kullanılır.

    • Kaynak sütun ise ondalık veya sayısal, duyarlık ve ölçeği kaynak sütun kullanılır.

    BCP_FMT_INDICATOR_LEN

    INT

    Bayt (önek) göstergesinin uzunluğudur.

    Uzunluğu, bayt cinsinden içinde sütun veri uzunluğu/null göstergesi olduğunu. Geçerli göstergesi uzunluğu değerler (hiçbir gösterge kullanırken) 0, 1, 2 veya 4.

    Varsayılan toplu kopyalama göstergesi kullanım belirtmek için bu parametreyi sql_varlen_data için ayarlayın.

    Göstergeleri, doğrudan herhangi bir veri önce bellek ve veri dosyasını doğrudan uygulandıkları verileri önce görünür.

    Veri dosyası sütun uzunluğunu belirten birden fazla anlamına gelir (bir göstergesi ve en fazla sütun uzunluğu, ya da bir gösterge ve Sonlandırıcı sırası gibi) kullandıysanız, kopyalanan veri en az tutarı sonuçları bir toplu kopyalama seçer.

    Kullanıcı araya girmeden verilerin biçimini ayarlar toplu kopyalama tarafından üretilir veri dosyaları, sütun veri uzunluğu değişebilir veya sütun null değer olarak kabul edebilir göstergeleri içerir.

    BCP_FMT_DATA_LEN

    DBINT

    Verileri (sütun uzunluğu) bayt cinsinden uzunluğu

    En fazla uzunluğunu, bayt, bu sütunun veri kullanıcı dosyasındaki herhangi bir uzunluk göstergesi veya Sonlandırıcı uzunluğunu dahil değil, öyle.

    Ayarı tüm veri değerleri sütun dosya gösterir bcp_fmt_data_len sql_null_data için vardır, ya da ayarlamak, null olmalıdır.

    Ayarlama sql_varlen_data için bcp_fmt_data_len gösteren sistem, her sütundaki verilerin uzunluğunu belirlemelisiniz. Bazı sütunlar için bu bir uzunluk/null göstergesi üzerinde bir kopyadan verileri gelmesini oluşturulur anlamına gelebilir SQL Server, ya da Kopyalanan verilerdeki göstergesi beklenen SQL Server.

    İçin SQL Serverkarakter ve ikili veri türleri, bcp_fmt_data_len sql_varlen_data, sql_null_data, 0 veya bazı pozitif bir değer olabilir. bcp_fmt_data_len sql_varlen_data, sistem varsa uzunluğu göstergesi veya Sonlandırıcı sırası veri uzunluğunu belirlemek için kullanır. Uzunluğu göstergesi ve Sonlandırıcı sırası belirttiğinizde, kopyalanan veri en az tutarı sonuçları bir toplu kopyalama kullanır. bcp_fmt_data_len sql_varlen_data veri türü ise, bir SQL Serverkarakter veya ikili türü ve uzunluğu göstergesi kendisi bir Sonlandırıcı sırası belirtilir, sistem hata iletisi döndürür.

    bcp_fmt_data_len 0 ya da pozitif bir değer ise, sistem maksimum veri uzunluğu olarak bcp_fmt_data_len kullanır. Ancak, olumlu bir bcp_fmt_data_len yanı sıra, uzunluk göstergesi veya Sonlandırıcı sırası sağlanmışsa, sistem, kopyalanan veri en az tutarı sonuçları yöntemi kullanarak veri uzunluğu belirler.

    bcp_fmt_data_len veri baytı sayısını temsil eder. Karakter veri Unicode geniş karakterler tarafından temsil edilen, bcp_fmt_data_len parametre değeri her karakterin bayt boyutu ile çarpılır karakter sayısını temsil eder.

    BCP_FMT_TERMINATOR

    LPCBYTE

    Sonlandırıcı işaretçi bu sütun için kullanılacak sıra (ANSI veya Unicode uygun olarak). Çünkü başka türlü sabit uzunluğu ya da ikili veri durumunda doğru bayt mevcut kayıt uzunluğu göstergesi gerektirir, bu parametreyi esas karakter veri türleri için kullanışlıdır.

    Ayıklanan veri sonlandırma önlemek veya kullanıcı dosyasındaki verileri değil verildiğini belirten, bu parametre null olarak ayarlayın.

    Kullanıcı dosyası sütun uzunluğunu belirten birden fazla anlamına gelir (bir Sonlandırıcı ve uzunluğu göstergesi veya bir Sonlandırıcı ve en fazla sütun uzunluğu gibi) kullandıysanız, kopyalanan veri en az tutarı sonuçları bir toplu kopyalama seçer.

    Toplu kopyalama API gerektiği gibi Unicode mbcs karakter dönüşümü gerçekleştirir. Sonlandırıcı bayt dizesi ve bayt dize uzunluğunu doğru ayarlandığından emin olmak için bakım alınmalıdır.

    BCP_FMT_SERVER_COL

    INT

    Sütunu sıralı konumunu veritabanındaki

    BCP_FMT_COLLATION

    LPCTSTR

    Harmanlama adı.

  • pValue
    İşaretçi değeri için ilişkilendirmek için özelliği. Tek tek ayarlamak her sütunun biçim özelliği sağlar.

  • cbvalue
    Özellik arabellek bayt cinsinden uzunluğudur.

Döner

BAŞARILI veya başarısız.

Açıklamalar

Bu işlevin yerini alır bcp_colfmt işlevi. Tüm işlevlerini bcp_colfmt sağlanan bcp_setcolfmt işlevi. Sütun harmanlama da sağlanan ek olarak desteği. Aşağıdaki sütun biçimi öznitelikleri aşağıda verilen sırada ayarlanması önerilir:

BCP_FMT_SERVER_COL

BCP_FMT_DATA_LEN

BCP_FMT_TYPE

Bcp_setcolfmt işlevi toplu kopya kullanıcı dosyası biçimini belirtmenize olanak verir. Toplu kopyalama için bir biçim aşağıdaki parçaları içerir:

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

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

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

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

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

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

Her arama için bcp_setcolfmt bir kullanıcı dosyası sütun biçimini belirtir. Örneğin, üç sütun beş sütunlu kullanıcı veri dosyasındaki varsayılan ayarlarını değiştirmek için ilk arama bcp_columns**(5)**ve sonra call bcp_setcolfmt beş kez ile üç özel biçimi bu çağrıları. Kalan iki aramalar için bcp_fmt_type 0'a ve BCP_FMT_INDICATOR_LENGTH, bcp_fmt_data_len, ve cbValue 0, sql_varlen_data ve 0 sırasıyla. Bu yordam tüm beş sütun, üç için özelleştirilmiş biçimi ve iki varsayılan biçimi kopyalar.

Bcp_columns işlev aramadan önce denilen bcp_setcolfmt.

Aramak gerekir bcp_setcolfmt kullanıcı dosyasındaki her sütun, her özellik için bir kez.

SQL Server tablosuna bir kullanıcı dosyasındaki tüm verileri kopyalamanız gerekmez. Bir sütuna geçmek için bcp_fmt_server_col parametresi 0 olarak ayarlanması sütun veri biçimi belirtin. Bir sütun atlamak istiyorsanız, türünü belirtmeniz gerekir.

Bcp_writefmt biçim belirtimi gerçekleştikten işlevi kullanılabilir.

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

Tarih ve saat türleri için bcp_fmt_type özelliği ile kullanılan türleri olduğunu belirtilen Gelişmiş tarih/saat türleri (ole db ve odbc) için toplu Kopyala değişiklikleri.

Daha fazla bilgi için, bkz. Tarih/Saat (odbc) geliştirmeleri.

Ayrıca bkz.

Başvuru

Toplu kopyalama işlevleri