Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server-大容量插入-FIELDQUOTE无法识别双引号_Sql Server - Fatal编程技术网

Sql server SQL Server-大容量插入-FIELDQUOTE无法识别双引号

Sql server SQL Server-大容量插入-FIELDQUOTE无法识别双引号,sql-server,Sql Server,我正在尝试批量插入CSV表。有些字段的值如下:“Smith,John” 因为逗号在“字段”中,所以它是“分隔”的,并将“John”放在下一列中 这是一张样品表 CREATE TABLE [dbo].[Test_CSV]( [a] [int] NULL, [b] [varchar](50) NULL, [c] [varchar](50) NULL, [d] [varchar](50) NULL ) ON [PRIMARY] GO 下面是一个示例CSV文件: 2,"

我正在尝试批量插入CSV表。有些字段的值如下:“Smith,John” 因为逗号在“字段”中,所以它是“分隔”的,并将“John”放在下一列中

这是一张样品表

CREATE TABLE [dbo].[Test_CSV](
    [a] [int] NULL,
    [b] [varchar](50) NULL,
    [c] [varchar](50) NULL,
    [d] [varchar](50) NULL
) ON [PRIMARY]
GO
下面是一个示例CSV文件:

2,"2","Mary Smith ","Ms."
1,"1","Smith, John","Mr."
这是我正在使用的命令

BULK INSERT Test_CSV FROM  'C:\MyCSV.csv' with (  FIELDQUOTE='"', FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )
这是数据,这是错误的,我明白了

请注意,d栏中包含“John”、“Mr.”

正确的命令是什么?请提前发送thx

BULK INSERT Test_CSV
FROM  'C:\MyCSV.csv' 
WITH ( FORMAT='CSV');

该图像看起来像SSMS 2008,
FIELDQUOTE
添加到SQL Server 2017中。如果您使用的是SSMS 2008,则不能使用SQL Server 2017。Microsoft SQL Server 2017(RTM-CU9)(KB4341265)-14.0.3030.27(X64)2018年6月29日18:02:47版权所有(C)2017 Microsoft Corporation Enterprise Edition(64位)在Windows Server 2012 R2标准6.3(版本9600:)上(虚拟机监控程序)数据库的兼容级别是什么?你需要在WITH语句中添加FORMAT='CSV',这样会非常有用。非常感谢!!!!!!!!!!!!!我真不敢相信这现在能起作用!!!!!这么多年来在.CSV文件上疯狂地替换逻辑!!!!迟做总比不做强!