BCP SQL Server插入表

问题描述

我正在尝试将文件BCP到与要导入的文件具有相同列的表中

BCP命令

EXEC xp_cmdshell 'BCP [CMS_Data].[dat].[SNP_2019_02_Special Needs Plan Report_RAW] in "\\FileShare\datafeeds\CMS_ResearchStatistics\Temp\SNP-2019-02\SNP_2019_02_Special Needs Plan Report.csv" -t"|" -T -c -F2 -S MSsqlSERVER'

我收到此错误

复制方向必须为“输入”,“输出”或“格式”。

我正在使用F2跳过标题行,但错误状态我需要输入,输出或格式化,但输入显然存在。这一定是我没有看到的其他问题。这段代码以前工作过。我将F2更改为F18,因为这是文件上数据开始的位置。由于这似乎是一个问题,所以我将数据移到了第2行,但现在在那也行不通。

解决方法

我从https://www.cms.gov/Research-Statistics-Data-and-Systems/Statistics-Trends-and-Reports/MCRAdvPartDEnrolData/Downloads/2019/Feb/SNP-2019-02.zip下载了数据集

我将xls转换为csv,并删除了前16行以转到“主表”

我将|替换为|。匹配您的文件设置

我在dbo模式下的DBA数据库中创建了表

CREATE TABLE [dbo].[SNP_2019_02_Special Needs Plan Report_RAW]( [Contract Number] [varchar](max) NULL,[Contract Name] [varchar](max) NULL,[Organization Type] [varchar](max) NULL,[Plan ID] [varchar](max) NULL,[Segment ID] [varchar](max) NULL,[Plan Name] [varchar](max) NULL,[Plan Type] [varchar](max) NULL,[Plan Geographic Name] [varchar](max) NULL,[State(s)] [varchar](max) NULL,[Plan Enrollment] [varchar](max) NULL,[Special Needs Plan Type] [varchar](max) NULL,[Specialty Diseases] [varchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO

我运行了BCP,以从从zip内容创建的csv中复制数据,然后它成功地将数据导入了在DBA中创建的表中

bcp "[DBA].[dbo].[SNP_2019_02_Special Needs Plan Report_RAW]" in  "C:\Users\someuser\Desktop\SNP_2019_02.csv" -c -t"|" -T -S "bi-server"

bcp results