0
當我導入以下行從一個數據文件:bcp導入數據爲基數256?
DATAFILE1:
1,2,3,4,5,6.789
10,11,12,13,14,15.6789
到SQL Server 2008 R2,該數據來自在好像是解釋數據作爲ASCII值基座256(即12337 =(48 * 256。 )+ 49,其中 '0'= 48, '1'= 49)
FIELD1 FIELD2 FIELD3 FIELD4 FIELD5 FIELD6 FIELD7
49 50 51 52 53 0.00000000 NULL
12337 12593 12849 13105 13361 0.00000000 NULL
命令我使用
bcp TABLE1 in DATAFILE.csv -S SERVER1 -d DB1 -U sa -f bcp.fmt
一切成功返回沒有錯誤,但是當我看在桌子上,一切都錯了。這裏的bcp.fmt文件(非XML)
10.0
6
1 SQLINT 0 0 "," 1 FIELD1 ""
2 SQLSMALLINT 0 0 "," 2 FIELD2 ""
3 SQLBIGINT 0 0 "," 3 FIELD3 ""
4 SQLBIGINT 0 0 "," 4 FIELD4 ""
5 SQLBIGINT 0 0 "," 5 FIELD5 ""
6 SQLDECIMAL 0 0 "\n" 6 FIELD6 ""
的DDL表:
CREATE TABLE [dbo].[TABLE1](
[FIELD1] [int] NOT NULL,
[FIELD2] [smallint] NOT NULL,
[FIELD3] [bigint] NOT NULL,
[FIELD4] [bigint] NULL,
[FIELD5] [bigint] NULL,
[FIELD6] [decimal](18, 8) NOT NULL,
[FIELD7] [decimal](18, 8) NULL
)
來自[本站](http://www.acan.eu/books/sql_server/ch16.htm)的提示也非常方便「使用ASCII文件時,請將所有文件存儲類型設置爲char,而不管表的數據類型,這是使用BCP將ASCII數據加載到SQL Server的唯一方法。「 這與源文件的「文件存儲類型」有關。 –