Aracılığıyla paylaş


bcp_colfmt

Kaynak veya hedef veri biçimi bir kullanıcı dosyayı belirtir.Bir kaynak biçimi olarak kullanıldığında bcp_colfmt bir toplu kopyalama için veri kaynağı olarak kullanılan bir veri dosyası biçimini belirtir bir SQL Server tablo.Hedef biçimi olarak kullanıldığında, veri dosyası ile belirtilen sütun biçimleri kullanarak oluşturulan bcp_colfmt.

Sözdizimi

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
    Toplu kopyalama etkin odbc bağlantı tanıtıcısı olur.

  • idxUserDataCol
    Kendisi için belirtilen biçim kullanıcı veri dosyasında sıralı sütun sayısıdır.İlk sütun 1'dir.

  • eUserDataType
    Bu kullanıcı dosyası sütun veri türüdür.Farklıysa, veritabanındaki karşılık gelen sütun veri türü tablo (idxServerColumn), toplu kopyalama verilerin mümkünse dönüştürür.

    SQL Server 2005desteği sqlxml ve sqludt veri türü belirteçleri eUserDataType parametresi.

    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 belirtebilir dize, odbc kullanarak sql_c_char, yazın SQL Server-belirli bir türü sqlcharacter.

    Varsayılan veri gösterimi belirtmek için SQL Server veri türü küme Bu parametre 0.

    Dışında bir toplu kopyalama için SQL Server bir dosyaya zaman eUserDataType SQLDECIMAL ya da SQLNUMERIC:

    • Kaynak sütun ise 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çek kaynak sütunun kullanılır.

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

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

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

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

    Kullanıcı etkileşimi olmadan verilerin biçimini ayarlar, toplu kopyalama tarafından döndürülen veri dosyalarının sütun null değeri olarak kabul edebilir veya sütun veri uzunluğu değişebilir göstergeleri içerir.

  • cbUserData
    En fazla uzunluğunu, bayt, bu durumda sütunkullanıcı dosyasındaki verileri kullanıcının değil herhangi bir uzunluk göstergesi veya Sonlandırıcı uzunluğunu dahil olmak üzere.

    Ayar cbUserData sql_null_data için tüm değerleri, veri dosyasındaki gösterir sütun ya da null olarak küme olması gerekir.

    Ayar cbUserData sql_varlen_data için sistem her veri uzunluğunu belirlemek gösteren sütun.Bazı sütunlar, bu uzunluğu/null göstergesi üzerinde bir kopyadan verileri gelmesini oluşturulur gelebilir SQL Server, ya da kopyalanan verilerdeki göstergesi beklenen SQL Server.

    İçin SQL Server karakter ve ikili veri türleri cbUserData sql_varlen_data, sql_null_data, 0 veya bazı pozitif bir değer olabilir.If cbUserData is SQL_VARLEN_DATA, the system uses either the length indicator, if present, or a terminator sequence to determine the length of the data.Uzunluk göstergesi hem de bir sonlandırıcı sırası kullanılmazsa, kopyalanan veri en az tutarı sonuçlar bir toplu kopyalama kullanır.If cbUserData is SQL_VARLEN_DATA, the data type is an SQL Server character or binary type, and neither a length indicator nor a terminator sequence is specified, the system returns an error message.

    If cbUserData is 0 or a positive value, the system uses cbUserData as the maximum data length.Ancak, eğer, pozitif bir ek olarak cbUserData, uzunluk göstergesi veya Sonlandırıcı sırası sağlanır, kopyalanan veri en az tutarı sonuçlar yöntem kullanarak sistem veri uzunluğunu belirler.

    The cbUserData value represents the count of bytes of data.Karakter verileri geniş Unicode karakter ve ardından bir pozitif tarafından temsil edilen, cbUserData parametre değeri her karakterin bayt cinsinden boyutu ile çarpılır karakter sayısını temsil eder.

  • pUserDataTerm
    Bu sütun için kullanılacak Sonlandırıcı dizisidir.Bu parametre, çoğunlukla sabit uzunlukta ya da diğer türleri, çünkü veri türleri karakter için yararlıdır durum ikili verileri, uzunluk bayt var doğru olarak kaydetmek için bir göstergedir gerektirir.

    Ayıklanan veri sonlandırma önlemek için ya da kullanıcı dosyasındaki verileri sonlandırılmadığından, göstermek için küme Bu parametre null.

    Kullanıcı dosyası sütun uzunluğunu belirten birden fazla anlamına gelir (bir Sonlandırıcı ve uzunluğu göstergesi, ya da 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.Dikkat çekilen, sonlandırıcı bayt dizesi hem bayt dize uzunluğunu sağlamak için küme doğru.

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

  • idxServerCol
    Sütunu sıralı konumunu veritabanına olan tablo.İlk sütun numarası 1'dir.Position'ın bir sütun tarafından bildirilen sqlsütuns.

    Bu değer 0 ise, bulk copy yoksayar sütun veri dosyasındaki.

Döndürür

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

Açıklamalar

The bcp_colfmt function allows you to specify the user-file format for bulk copies.Toplu kopyalama için bir 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östergesi uzunluğu.

  • Veri 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 çağrı için bcp_colfmt bir kullanıcı dosyası sütun biçimini 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 sonra call bcp_colfmt beş kat ile üç özel ayarlama bu çağrıları.Kalan iki aramalarda, küme eUserDataType 0 ile küme için cbIndicator, cbUserData, ve cbUserDataTerm sql_varlen_data, 0 ve 0 sırasıyla.Bu yordam tüm beş sütun özelleştirilmiş biçiminizin üç ve iki varsayılan biçimi kopyalar.

İçin cbIndicator, 8 büyük değer türünü belirtmek için bir değer geçerli değil.Önek, buna karşılık gelen sütun en fazla yeni bir türü olan bir alan için belirtilmişse, yalnızca olabilir küme 8.Ayrıntılı bilgi için bkz: bcp_bind.

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

Çağırması gerekir bcp_colfmt kullanıcı dosyasındaki her sütun için bir kez.

Arayan bcp_colfmt birden çok kez için tüm kullanıcı dosyası sütun bir hataya neden olur.

Bir kullanıcı dosyasındaki tüm verileri kopyalamak gereken SQL Server tablo.Bir sütun atlamak için ayarlama sütun için veri biçimini belirtin idxServerCol parametresi 0.Bir sütun atlamak 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

İle kullanılan he türleri bilgi aboutt için eUserDataType parametresi, tarih/saat türleri için bkz: 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