bcp_setcolfmt
The bcp_setcolfmt function supersedes the bcp_colfmt.Sütun alfabe düzeni belirlemekbcp_setcolfmt işlev kullanılmalıdır.
Bu işlev, bir toplu kopyalama işlemi sütun biçimini belirlemek için esnek bir yaklaşım sağlar.Olduğu için kullanılan küme tek sütun biçimlendirme öznitelikleri.Her arama içinbcp_setcolfmt bir sütun biçiminde özniteliği. ayarlar
The bcp_setcolfmt function specifies the source or target format of the data in a user file.Bir kaynak biçimi olarak kullanıldığındabcp_setcolfmt veri toplu kopyasını veri kaynağı olarak kullanılan, varolan bir veri dosyası biçimini belirtir bir tablo , SQL Server.Hedef biçimi olarak kullanıldığında veri dosyası ile belirtilen sütun biçimi kullanılarak oluşturulurbcp_setcolfmt.
RETCODE bcp_setcolfmt (
HDBC hdbc,
INT field,
INT property,
void* pValue,
INT cbValue);
Bağımsız değişkenler
hdbc
Is toplu kopyalama - etkin ODBC bağlantı tanıtıcısı.alan
Sıra sütun sayısı, özellik olan küme.özellik
Özellik sabit bir iş.Özellik sabit tanımlanan bu tablo.Özellik
Değer
Açıklama
BCP_FMT_TYPE
BAYT
Bu veri türü sütun kullanıcı dosya.Toplu kopyalama farklıysa veritabanı tablosunda karşılık gelen sütun veri türü, verilerin mümkünse dönüştürür.
SQL Server veri türü belirteçleri ODBC C veri türü sıralayıcısını yerine sqlncli.h olarak BCP_FMT_TYPE parametre numaralandırılmış.Örneğin, belirtebilirsiniz, ODBC tür SQL_C_CHAR, the SQLCHARACTER kullanarak yazın, özel bir karakter dizesiSQL Server.
Belirtmek için varsayılan veri gösterimi içinSQL Serververi türü küme bu parametreyi 0.
İçin bir toplu kopyalama bir dosyaya SQLDECIMAL veya SQLNUMERIC BCP_FMT_TYPE, SQL Server'ın dışında:
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.
BCP_FMT_INDICATOR_LEN
INT
Bayt (önek) göstergesinin uzunluğudur.
Bu, bayt cinsinden veri sütun içindeki uzunluğu/null göstergesinin uzunluğudur.Geçerli göstergesi uzunluğu (hiçbir gösterge kullanırken) 0, 1, 2 veya 4 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.
Veri dosyaları, kullanıcı araya girmeden veri biçimini ayarlar toplu kopya tarafından oluşturulan sütun veri uzunluğu gösterebilir ya da sütun null bir 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 cinsinden uzunluğu uzunluk göstergesi veya Sonlandırıcı gibi kullanıcı dosyası, bu sütun's veri olduğu.
küme için SQL_NULL_DATA BCP_FMT_DATA_LEN gösteren tüm değerleri veri sütun dosya varsa veya ayarlamak, NULL olmalıdır.
Ayarlama için SQL_VARLEN_DATA BCP_FMT_DATA_LEN gösteren sistem her veri uzunluğunu belirlemelisiniz sütun.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ürleri, BCP_FMT_DATA_LEN SQL_VARLEN_DATA, SQL_NULL_DATA, olabilir; 0 pozitif bir değer bazı.BCP_FMT_DATA_LEN SQL_VARLEN_DATA, sistem verileri belirlemek için uzunluk göstergesi, varsa veya bir sonlandırıcı sırası 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., BCP_FMT_DATA_LEN SQL_VARLEN_DATA ve veri türü birSQL Serverkarakter veya ikili türü ve uzunluğu göstergesi kendisi bir sonlandırıcı sıra belirtilmişse, sistem döndüren bir hata iletisi.
BCP_FMT_DATA_LEN 0 ya da pozitif bir değer, sistem BCP_FMT_DATA_LEN en büyük veri uzunluğu kullanır.Pozitif bir BCP_FMT_DATA_LEN yanı sıra, uzunluk göstergesi veya Sonlandırıcı sıra sağlanır, ancak sistem verileri, kopyalanan verinin en az tutarı yöntem kullanarak belirler.
BCP_FMT_DATA_LEN değeri verisinin bayt sayısını gösterir.Geniş karakter Unicode karakter verileri gösterilir, pozitif BCP_FMT_DATA_LEN parametre değeri her karakterin bayt cinsinden boyutunu çarpımı karakter sayısını temsil eder.
BCP_FMT_TERMINATOR
LPCBYTE
Sonlandırıcı işaretçi serisi (ANSI veya Unicode uygun olarak) Bu sütun için kullanılacak.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.
BCP_FMT_SERVER_COL
INT
Sıralı konumunu sütun veritabanında
BCP_FMT_COLLATION
LPCSTR
Harmanlama adı.
pValue
Değeri için ilişkilendirmek için işaretçiözellik.Her sütunun biçim özellikni veren küme ayrı ayrı.cbvalue
Özellik arabelleğinin bayt cinsinden uzunluğudur.
Verir
BAŞARISINA ya da başarısız olur.
Remarks
Bu işlev yerine geçerbcp_colfmt işlev. Tüm işlevselliğinibcp_colfmt sağlanan bcp_setcolfmt işlev. Sütun harmanlama de buna desteği sağlanır.Aşağıdaki sütun biçimlendirme öznitelikleri, aşağıda belirtilen sırada ayarlanması önerilir.
BCP_FMT_SERVER_COL
BCP_FMT_DATA_LEN
BCP_FMT_TYPE
The bcp_setcolfmt 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_setcolfmt 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_setcolfmtKalan iki arama BCP_FMT_TYPE 0 ve BCP_FMT_INDICATOR_LENGTH, BCP_FMT_DATA_LEN, vecbValue SQL_VARLEN_DATA, 0 ve 0 sırasıyla.Bu yordam tüm beş sütun, üç özel biçiminiz ve iki varsayılan biçimi kopyalar.
The bcp_columns function must be called before calling bcp_setcolfmt.
Gereken aramabcp_setcolfmt her kez her özellik için sütun, kullanıcı dosya
Tüm verileri SQL Server için bir kullanıcı dosyaya kopyalamak gereken tablo.Atlamak için bir sütun, veri biçimini belirtin sütun, BCP_FMT_SERVER_COL parametresini 0 olarak ayarlamak.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_setcolfmt Gelişmiş tarih ve saat özellikleri için destek
BCP_FMT_TYPE özellik ile tarih/saat türü için kullanılan olarak tipleridir belirtilenGeliş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.