bcp_colfmt
Kaynak veya hedef biçim veri bir kullanıcı dosyayı belirtir. Bir kaynak biçimi olarak kullanıldığında bcp_colfmt bir toplu kopya için veri kaynağı olarak kullanılan varolan bir veri dosyası biçimini belirtir bir SQL Servertablosu. Hedef kullanılan veri dosyasının belirtilen sütun biçimlerini kullanarak oluşturulduğunda, 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ı olduğunu.idxUserDataCol
Kullanıcı veri dosyasındaki hangi biçim belirtilen 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. Veritabanı tablosundaki karşılık gelen sütun veri türü farklıysa (idxServerColumn), toplu kopyalama veri mümkünse dönüştürür.SQL Server 2005desteği sqlxml ve sqludt veri türü belirteçleri eUserDataType parametresi.
EUserDataType parametresi tarafından numaralandırılan SQL Serververi türü belirteçleri sqlncli.h, değil odbc c veri türü numaralandırıcıları. Örneğin, bir karakter dizesi, odbc belirtebilirsiniz sql_c_char, yazın kullanarak SQL Server-belirli türdeki sqlcharacter.
Varsayılan veri gösterimi belirtmek için SQL Serververi türü ayarla Bu parametre 0.
Bir toplu kopya için SQL Serverbir dosyada ne zaman eUserDataType SQLDECIMAL veya SQLNUMERIC:
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.
cbIndicator
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, 4 veya 8.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.
cbUserData
Maksimum uzunluğu, herhangi bir uzunluk göstergesi veya Sonlandırıcı uzunluğunu dahil kullanıcı dosyadaki bu sütunun veri bayt değil.Ayar cbUserData sql_null_data için veri dosyası sütundaki tüm değerlerin olduğunu gösterir ya da null olarak ayarlanmalıdır.
Ayar cbUserData sql_varlen_data için sistem her sütundaki verilerin uzunluğunu belirlemek gösterir. 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 cbUserData sql_varlen_data, sql_null_data, 0 veya bazı pozitif bir değer olabilir. Eğer cbUserData sql_varlen_data, olan varsa uzunluğu göstergesi veya Sonlandırıcı sırası sistem 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. Eğer cbUserData sql_varlen_data, verileri ise türü olan 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.
Eğer cbUserData pozitif bir değer, sistemin kullandığı veya 0 cbUserData olarak maksimum veri uzunluğu. Ancak, eğer, pozitif ek olarak cbUserData, uzunluk göstergesi veya Sonlandırıcı sırası sağlanır, kopyalanan veri en az tutarı sonuçları yöntemini kullanarak sistem veri uzunluğu belirler.
CbUserData değeri temsil eden veri bayt sayısı. Eğer karakter veri Unicode geniş karakterler, sonra da olumlu tarafından temsil edilen cbUserData parametre değeri gösteren karakter boyutu, bayt cinsinden her karakteri ile çarpılır.
pUserDataTerm
Bu sütun için kullanılacak Sonlandırıcı dizisidir. Çü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.
cbUserDataTerm
Bu sütun için kullanılacak Sonlandırıcı sırası uzunluğu bayt cinsinden olduğunu. Hiçbir Sonlandırıcı bulunması veya istenen veri varsa, bu değeri 0 olarak ayarlayın.idxServerCol
Veritabanı tablosunu sütun sıralı konumunu olduğunu. İlk sütun numarası 1'dir. Sütunu sıralı konumunu tarafından bildirilen SQLColumns.Bu değer 0 ise, toplu kopyalama veri dosyası sütununda yoksayar.
Döner
BAŞARILI veya başarısız.
Açıklamalar
Bcp_colfmt 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_colfmt 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_colfmt beş kez ile üç özel biçimi bu çağrıları. Kalan iki aramaları, set eUserDataType 0 ve set cbIndicator, cbUserData, ve cbUserDataTerm 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.
İçin cbIndicator, 8 büyük değer türü belirtmek için değeri artık geçerli değil. Önek, buna karşılık gelen sütun yeni max türü olan bir alan için belirtilirse, yalnızca 8'e ayarlanabilir. Ayrıntılar için bkz: bcp_bind.
Bcp_columns fonksiyonu denir, önce herhangi bir çağrı bcp_colfmt.
Aramak gerekir bcp_colfmt kullanıcı dosyasındaki her sütun için bir kez.
Arama bcp_colfmt birden fazla kez için herhangi bir kullanıcı dosyası sütun neden bir hata.
Bir kullanıcı dosyasındaki tüm verileri kopyalamanız gerekir değil SQL Servertablosu. Bir sütun Atla için ayarlamak sütun veri biçimi belirtmek idxServerCol parametresi 0. Bir sütun atlamak istiyorsanız, türünü belirtmeniz gerekir.
Bcp_writefmt biçim belirtimi gerçekleştikten işlevi kullanılabilir.
bcp_colfmt Gelişmiş tarih ve saat özellikleri için destek
İçin o tip bilgi aboutt ile kullanılan eUserDataTypeparametresini, Tarih ve saat türleri görmek 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.