Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 2012大容量插入类型不匹配错误_Sql Server_Sql Server 2012_Bulkinsert - Fatal编程技术网

Sql server SQL Server 2012大容量插入类型不匹配错误

Sql server SQL Server 2012大容量插入类型不匹配错误,sql-server,sql-server-2012,bulkinsert,Sql Server,Sql Server 2012,Bulkinsert,我是一个初学者,只是在学习如何使用SQL Server,我似乎在使用批量插入时遇到了麻烦。我已经潜伏在类似的线程中,但我有两个类型不匹配的错误,我根本无法找出 这是表(psuedo SQL) 这是我的批量插入语句 BULK INSERT patient FROM patient.csv WITH ( FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ) 返回的错误是 4864,大容量加载数据转换错误(类型不匹配

我是一个初学者,只是在学习如何使用SQL Server,我似乎在使用批量插入时遇到了麻烦。我已经潜伏在类似的线程中,但我有两个类型不匹配的错误,我根本无法找出

这是表(psuedo SQL)

这是我的批量插入语句

BULK INSERT patient
FROM patient.csv 
WITH (
  FIRSTROW = 2, 
  FIELDTERMINATOR = ',', 
  ROWTERMINATOR = '\n'
)
返回的错误是

4864,大容量加载数据转换错误(类型不匹配或无效 第347行第29列的指定代码页字符) (ADOS)

4864,大容量加载数据转换错误(类型不匹配或无效 第347行第49列(PTOS)的指定代码页字符

在引发错误的两个位置都有

  • 没有额外的空格
  • 没有隐藏字符
  • 值的格式与之前的346个类似类型值相同
在数据文件中,patient.csv所有datetime列的格式都是MM/DD/YYYY hh:MM:ss(ADOS也不例外),而PTOS实际上是一整列,只有0.00


那么,为什么只有在第347行中才会抛出错误?

ADOS
之前的
varchar
值中,可能有一个逗号(甚至是
新行
)。因为这是你的字段终结者,它可以解释这个错误。和@HoneyBadger的结论相同。我打赌您的雇主或EmpAddr在第347行中有一个逗号:例如CompanyName,LLP
BULK INSERT patient
FROM patient.csv 
WITH (
  FIRSTROW = 2, 
  FIELDTERMINATOR = ',', 
  ROWTERMINATOR = '\n'
)