如果第一列为空,则 BCP 不工作
BCP is not working if first column is empty
我有一个源文件,其中第一个字段的 90% 是空的。我想使用 BCP 实用程序将此文件加载到 SQL 服务器 table。当我 运行 BCP 命令时,BCP 实用程序无法识别或区分记录。
我的源文件有如下数据。
|100168|27238800000|14750505|1|273
|100168|27238800000|14750505|1|273
|100681|88392930052|37080101|1|252
|101014|6810000088|90421505|12|799
|101595|22023000000|21050510|8|780
我正在使用
**bcp [DBNAME].[dbo].[TABLE1] in \filelocation\filename -e \filelocation\filename_Error.txt -c -t | -S ServerName -T -h TABLOCK -m 1**
我在 error.txt
中收到错误消息
as #@ Row 1, Column 28: String data, right truncation @# 100168 27238800000 14750505 1 273
100168|27238800000|14750505|1|273. Here BCP is not able to recognize
records. Due to this BCP is trying loaded next record data into last
field which is causing data truncation.
Table 架构是
CREATE TABLE [DBO].[TABLE1](
FLD1 VARCHAR(10)
,FLD2 VARCHAR(10)
,FLD3 VARCHAR(22)
,FLD4 VARCHAR(15)
,FLD5 VARCHAR(10)
,FLD6 VARCHAR(12) )
你需要引用管道。管道(字符|)用于重定向命令行的标准输出
以下简化的行适用于您的示例
bcp.exe [db].dbo.[table1] in "path\Data.dat" -S".\instance" -T -c -t"|"
我省略了错误限制-m
、日志-e
和table锁定提示-h
,但这些应该不会影响导入,但如果您仍然有一个问题尝试引用服务器名称和文件名等参数
我使用了一个带有标准 \r\n
行终止符的文本文件,正如 -c
所期望的那样
我有一个源文件,其中第一个字段的 90% 是空的。我想使用 BCP 实用程序将此文件加载到 SQL 服务器 table。当我 运行 BCP 命令时,BCP 实用程序无法识别或区分记录。
我的源文件有如下数据。
|100168|27238800000|14750505|1|273
|100168|27238800000|14750505|1|273
|100681|88392930052|37080101|1|252
|101014|6810000088|90421505|12|799
|101595|22023000000|21050510|8|780
我正在使用
**bcp [DBNAME].[dbo].[TABLE1] in \filelocation\filename -e \filelocation\filename_Error.txt -c -t | -S ServerName -T -h TABLOCK -m 1**
我在 error.txt
as #@ Row 1, Column 28: String data, right truncation @# 100168 27238800000 14750505 1 273
100168|27238800000|14750505|1|273. Here BCP is not able to recognize records. Due to this BCP is trying loaded next record data into last field which is causing data truncation.
Table 架构是
CREATE TABLE [DBO].[TABLE1](
FLD1 VARCHAR(10)
,FLD2 VARCHAR(10)
,FLD3 VARCHAR(22)
,FLD4 VARCHAR(15)
,FLD5 VARCHAR(10)
,FLD6 VARCHAR(12) )
你需要引用管道。管道(字符|)用于重定向命令行的标准输出
以下简化的行适用于您的示例
bcp.exe [db].dbo.[table1] in "path\Data.dat" -S".\instance" -T -c -t"|"
我省略了错误限制-m
、日志-e
和table锁定提示-h
,但这些应该不会影响导入,但如果您仍然有一个问题尝试引用服务器名称和文件名等参数
我使用了一个带有标准 \r\n
行终止符的文本文件,正如 -c