【发布时间】:2013-12-27 05:21:55
【问题描述】:
我一直在尝试将数据(制表符分隔)导入 SQL 服务器。源数据是从 IBM Cognos 导出的。数据下载地址:sample data
我尝试过 BCP / 批量插入,但没有帮助。原始数据文件包含一个标题行(需要跳过)。
=================================== 架构:
CREATE TABLE [dbo].[DIM_Assessment](
[QueryType] [nvarchar](4000) NULL,
[QueryDate] [nvarchar](4000) NULL,
[APUID] [nvarchar](4000) NULL,
[AssessmentID] [nvarchar](4000) NULL,
[ICDCode] [nvarchar](4000) NULL,
[ICDName] [nvarchar](4000) NULL,
[LoadDate] [nvarchar](4000) NULL
) ON [PRIMARY]
GO
============================== 使用以下命令生成的格式化文件
bcp [dbname].dbo.dim_assessment format nul -c -f C:\config\dim_assessment.Fmt -S <IP> -U sa -P Pwd
格式文件内容:
11.0
7
1 SQLCHAR 0 8000 "\t" 1 QueryType SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 8000 "\t" 2 QueryDate SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 8000 "\t" 3 APUID SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 8000 "\t" 4 AssessmentID SQL_Latin1_General_CP1_CI_AS
5 SQLCHAR 0 8000 "\t" 5 ICDCode SQL_Latin1_General_CP1_CI_AS
6 SQLCHAR 0 8000 "\t" 6 ICDName SQL_Latin1_General_CP1_CI_AS
7 SQLCHAR 0 8000 "\r\n" 7 LoadDate SQL_Latin1_General_CP1_CI_AS
==============================
我尝试使用 BCP / Bulk Insert 导入数据,但是,它们都不起作用。
bcp [dbname].dbo.dim_assessment IN C:\dim_assessment.dat -f C:\config\dim_assessment.Fmt -S <IP> -U sa -P Pwd
BULK INSERT dim_assessment FROM '\\dbserver\DIM_Assessment.dat'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\r\n'
);
GO
提前感谢您的帮助@
【问题讨论】:
-
“他们都没有工作”是什么意思?你收到错误信息了吗?如果有,是什么?
-
是的,目前我无法使用 SSIS 导入数据。我们正在寻找一种将网络上保存的数据导入 SQL 服务器的自动化方法。
-
我不确定该回复如何回答我的任何问题。
-
@AaronBertrandTes 没有出现错误。除了它说复制了 0 行。
-
当您尝试 BULK INSERT 时,会发生什么情况?
标签: sql sql-server bulkinsert bcp csv