Alan uzunluğu kullanma bcp tarafından belirtme
Alan uzunluğu en fazla karakter biçiminde veri göstermek için gereken karakter sayısını gösterir.Alan uzunluğu veri saklanır, zaten biliniyor yerel biçim; Örneğin, int veri türü alır 4 bayt.Önek uzunluğu, 0 belirttiyseniz, bcp komut sizden alan uzunluğu, varsayılan alan uzunlukları ve etkilerini içeren veri dosyalarında veri depolama alan uzunluğu char veri.
İçin alan uzunluğu istemi bcp
Etkileşimli, bcp komutu içeren , veya dışarı biçim dosyası anahtarı ya da seçenek (-f) veya bir veri biçim anahtarını (- n, - c, -w, veya -n), komut istemleri için alan uzunluğu aşağıdaki gibi her veri alannın:
Enter length of field <field_name> [<default>]:
Bu bağlamda sor gösteren bir örnek için bkz: Veri biçimleri için Uyumluluk kullanma bcp tarafından belirtme.
Not
Etkileşimli olarak tüm alanlarında belirttiğiniz sonra bir bcp komutu, kaydettiğiniz her alan için verdiğiniz yanıtları olmayan bir-xml komut istemlerini biçim dosyası.Olmayan xml biçimi dosyaları hakkında daha fazla bilgi için bkz: Olmayan xml biçimi dosyaları anlama.
Olup bir bcp komutu ister için alan uzunluğu gibi birkaç etkene bağlıdır:
Sabit uzunluğu olmayan veri türleri kopyalayın ve belirttiğiniz önek uzunluğu, 0, bcp bir alan uzunluğu için ister.
Noncharacter verileri karakter verileri dönüştürürken bcp veri depolamaya yetecek bir varsayılan alan uzunluğu önerir.
Dosya depolama türü noncharacter, ise bcp bir alan uzunluğu için komut istemleri görüntülemez.The data is stored in the Microsoft SQL Server native data representation (native format).
Varsayılan alan uzunluğu kullanma
Genellikle, Microsoft kabul önerir bcp-alan uzunluğu için varsayılan değerler önerilir.Karakter modu veri dosyası oluşturulduğunda, varsayılan alan uzunluğu kullanma veri değil kesilir ve sayısal taşma hatalarının ortaya sağlar.
Yanlış bir alan uzunluğu belirtirseniz, sorunları ortaya çıkabilir.İçin örnek, sayısal veri kopyalayabilir ve çok kısaltması veri olan bir alanın uzunluğunu belirtmek bcp yardımcı programı bir taşma iletisi yazdırır ve verileri kopyalayın.Ayrıca, verirseniz datetime veri karakteri 26 bayttan küçük alan uzunluğu belirtin ve dize, bcp yardımcı programı, bir hata iletisi olmadan veri keser.
Önemli |
---|
Varsayılan boyut seçeneği kullanıldığında, SQL Server bekler okumak tüm bir dize.Bazı durumlarda, bir "beklenmeyen dosya sonu" varsayılan alan uzunluğu kullanımına neden olabilir bir hata oluştu.Bu hata genellikle oluşur money ve datetime veri türleri veri dosyasındaki; beklenen alan yalnızca bir kısmını oluştuğunda Örneğin, ne zaman bir datetime değeri mm/dd/yy , bu nedenle, beklenen 24 karakter uzunluğunu kısadır ve saat bileşeni belirtilen bir datetime değeri char biçimi.Bu tür hataları önlemek için alan Kesiciler veya sabit uzunluklu veri alanları kullanın veya başka bir değer belirterek varsayılan alan uzunluğu değiştirin. |
Karakter dosya depolama için varsayılan alan uzunlukları
Aşağıdaki tablo karakter dosya depolama türü olarak depolanmak üzere veriler için varsayılan alan uzunluklarını listeler.Nullable veri null olmayan veri olarak aynı uzunluktadır.
Veri türü |
Varsayılan uzunluk (karakter) |
---|---|
char |
Sütun için tanımlanmış uzunluğu |
varchar |
Sütun için tanımlanmış uzunluğu |
nchar |
İki kez sütun için tanımlanmış uzunluğu |
nvarchar |
İki kez sütun için tanımlanmış uzunluğu |
Text |
0 |
ntext |
0 |
bit |
1 |
binary |
İki kez sütun + 1 için tanımlanan uzunluğu |
varbinary |
İki kez sütun + 1 için tanımlanan uzunluğu |
image |
0 |
datetime |
24 |
smalldatetime |
24 |
float |
30 |
real |
30 |
int |
12 |
bigint |
19 |
smallint |
7 |
tinyint |
5 |
money |
30 |
smallmoney |
30 |
decimal |
41* |
numeric |
41* |
uniqueidentifier |
37 |
timestamp |
17 |
varchar(max) |
0 |
varbinary(max) |
0 |
nvarchar(max) |
0 |
UDT |
Kullanıcı tanımlı terim (udt) uzunluğusütun |
XML |
0 |
* Hakkında daha fazla bilgi için decimal ve numeric Bkz: veri türleri, ondalık ve sayısal (Transact-SQL).
Not
Sütun türü tinyint değerler 0 ile 255 arasındaki; olabilir en fazla üç aralık için herhangi bir sayıyı temsil etmek için gerekli olan karakter sayısı (100-255 değerleri gösteren).
Yerel dosya depolama için varsayılan alan uzunlukları
Aşağıdaki tablo verilerin yerel dosya depolama türü olarak depolanması varsayılan alan uzunluklarını listeler.Nullable veri null olmayan veri olarak aynı uzunluktadır ve karakter verileri her zaman karakter biçiminde saklanır.
Veri türü |
Varsayılan uzunluk (karakter) |
---|---|
bit |
1 |
binary |
Sütun için tanımlanmış uzunluğu |
varbinary |
Sütun için tanımlanmış uzunluğu |
image |
0 |
datetime |
8 |
smalldatetime |
4 |
float |
8 |
real |
4 |
int |
4 |
bigint |
8 |
smallint |
2 |
tinyint |
1 |
money |
8 |
smallmoney |
4 |
decimal1 |
* |
numeric1 |
* |
uniqueidentifier |
16 |
timestamp |
8 |
1 Hakkında daha fazla bilgi için decimal ve numeric Bkz: veri türleri, ondalık ve sayısal (Transact-SQL).
Yukarıdaki durumların içine daha sonra yeniden yüklenmesi için bir veri dosyası oluşturmak için tüm SQL Server için en az depolama alanı tutar, kullanın uzunluğu önek varsayılan dosya depolama türü ve varsayılan alan uzunluğu.
Ayrıca bkz.