BCP SQL 服务器变成 table

BCP SQL Server into a table

我正在尝试将一个文件 BCP 到一个 table 中,该文件具有与导入的文件相同的列

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'

我遇到了这个错误

Copy direction must be either 'in', 'out' or 'format'.

我正在使用 F2 跳过 header 行错误状态我需要输入、输出或格式,但输入显然在那里。这一定是我没有看到的其他问题。此代码之前有效。我将 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 行以进入“main table”

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

我在我的 DBA 数据库中的 dbo 模式中创建了您的 table

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 中复制数据,它成功地将数据导入到 table 在 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"