IBCPSession::BCPInit (ole db)
toplu kopyalama yapısı başlatır, hata denetimi gerçekleştirir, doğrular, verileri ve biçim dosyası adları doğru olduğunu ve bunları açar.
Sözdizimi
HRESULT BCPInit(
const wchar_t *pwszTable,
const wchar_t *pwszDataFile,
const wchar_t *pwszErrorFile,
int eDirection);
Açıklamalar
The BCPInit method should be called before any other bulk-copy method.The BCPInit method performs the necessary initializations for a bulk copy of data between the workstation and SQL Server.
The BCPInit method examines the structure of the database source or target table, not the data file.Veritabanındaki her bir sütunu temel alan veri dosyası için veri biçimi değerleri belirtir tablo, görüntülemek veya sonuç küme seçin.Bu belirtimi içeren her veri türü sütun, olup bir uzunluk veya null göstergesi ve Sonlandırıcı bayt veri ve genişliğini sabit uzunluklu veri türleri, dizeleri.The BCPInit method sets these values as follows:
Belirtilen veri türü veritabanı tablo, görünüm veya select sonuç küme sütun veri türüdür.Veri türü tarafından numaralandırılan SQL Server belirtilen yerel veri türlerini SQL Server yerel istemci üstbilgi dosyası (sqlncli.h).Kendi bcp_type_xxx desende değerlerdir.Verileri bilgisayar haliyle temsil edilir.Diğer bir deyişle, verileri bir sütun tamsayı veri türü büyük dört bayt sırası tarafından temsil edilir- veya küçük oluşturulan veri dosyası bilgisayara bağlı endian.
Veritabanı veri türü, uzunluğu sabittir, veri dosyası veri uzunluğunu da sabittir.Verileri işlemek toplu kopyalama yöntemleri (örneğin, IBCPSession::BCPExec) seçin veya veri satırlarını bekleniyor veritabanı tablo, görünüm, belirtilen veri uzunluğu ile aynı olacak şekilde veri dosyasındaki verilerin uzunluğunu ayrıştırmak sütun listesi.Örneğin, bir veritabanı için veri sütun olarak tanımlanan char(13) gerekir temsil ettiği 13 karakter her satır veri dosyası.Sabit uzunluklu veri öneki ile boş bir göstergesi, veritabanı sütun null değerlere izin verir.
Veri kopyalarken, SQL Server, veri dosyası veritabanı içinde her sütun için veri olmalıdır tablo.Veri kopyalarken, SQL Server, tüm veritabanı tablo, görünüm, ya da select sonuç küme sütunlarından veri kopyalanır veri dosyası.
Veri kopyalarken, SQL Server, bir sütun sıralı konumunu veri dosyasındaki sütun sıralı konumunu veritabanındaki aynı olmalıdır tablo.Veri kopyalarken, SQL Server, BCPExec yöntem yerleştirir veritabanı sütun sıralı konumunu temel veri tablo.
Veritabanı veri türü, değişken uzunluğu ise (örneğin, varbinary(22)) veya bir veritabanı sütun null değerler içerebilir, veri dosyasındaki verileri öneki bir uzunluk/null göstergesi. tarafındanGenişliği göstergesi, veri türüne bağlı olarak değişir ve sürüm toplu kopya.The IBCPSession::BCPControl method option BCP_OPTION_FILEFMT provides compatibility between earlier bulk-copy data files and servers running later versions of SQL Server by indicating when the width of indicators in the data is narrower than expected.
Not
Veri dosyası için belirtilen veri biçimi değerleri değiştirmek için IBCPSession::BCPColumns ve IBCPSession::BCPColFmt yöntemleri.
Toplu kopya SQL Server optimize tablolarda dizinler veritabanı seçeneği ayarlayarak içermeyen select into / bulkcopy.
Bağımsız değişkenler
pwszTable[in]
Veritabanının adını tablo içine veya dışına kopyalanacak.Adı, sahibinin adı veya veritabanı adı içerebilir.Örneğin, "pubs.username.titles", "pubs...başlıklar","username.titles".EDirection bağımsız değişken ise küme BCP_DIRECTION_OUT için bir veritabanı görünümü adı pwszTable bağımsız değişken olabilir.
EDirection bağımsız değişken ise küme BCP_DIRECTION_OUT ve bir deyim kullanarak belirtilen BCPControl yöntem önce BCPExec yöntem çağrılır, pwszTable bağımsız değişken olmalıdır küme için null.
pwszDataFile[in]
İçine veya dışına kopyalanacak kullanıcı dosya adı.pwszErrorFile[in]
Bir kullanıcı dosya kopyalanamadı tüm satırları kopyalarını ilerleme durumu iletileri ve hata iletileri ile doldurulması için hata dosyasının adı bir tablo.If the pwszErrorFile argument is set to NULL, no error file is used.eDirection[in]
Kopyalama işlemi yönünü ya BCP_DIRECTION_IN ya da BCP_DIRECTION _out.BCP_DIRECTION _IN gösterir bir veritabanına bir kullanıcı dosyadaki bir kopyasını tablo; BCP_DIRECTION _out bir veritabanı kopyasından gösterir tablo bir kullanıcı dosyaya.
Dönüş Kodu Değerleri
S_OK
Yöntem başarılı oldu.E_FAIL
Sağlayıcı belirli bir hata oluştu ' ayrıntılı bilgi için kullanma ISQLServerErrorInfo arabirim.E_OUTOFMEMORY
Bellek yetersiz hatası.E_INVALIDARG
Bir veya daha fazla bağımsız değişken doğru şekilde belirtilmedi.Örneğin, geçersiz bir dosya adı verildi.