BULK INSERT SQL SERVER的乐趣 - 为指定的代码页输入不匹配或无效字符

l--*_*''' 4 sql sql-server bulkinsert sql-server-2008

我正在插入如下所示的数据:

   AA00000111   PSNH-OT J, SMITH    03/01/2011  10/11/1957  42  Male    Hartford    NH      Lorazepam   Benzodiazepines C
AA00000151  PSNH-OT BEN, HARRY  03/06/2011  07/18/1969  42  Male    Hartford    NH      Fentanyl    Synthetic Opioids   C
AA00000151  PSNH-OT URA, HARRISON   03/06/2011  07/18/1969  29  Male    Hartford    NH      Norfentanyl Synthetic Opioids   C
AA00000181  PSNH-OT WAYNE, GRIFFON  03/06/2011  09/01/1982  75  Female  Hartford    NH      cTHC (Marijuana metabolite) Illicits    C
Run Code Online (Sandbox Code Playgroud)

使用此批量插入:

use RadarDataMining
go

BULK INSERT tblRadarsAC
FROM 'C:\PerfLogs\radars.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 3, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 4, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 5, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 6, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 7, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 8, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 9, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 10, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 11, column 4 (date_tested).
Msg 4865, Level 16, State 1, Line 2
Cannot bulk load because the maximum number of errors (10) was exceeded.
Msg 7399, Level 16, State 1, Line 2
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 2
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
Run Code Online (Sandbox Code Playgroud)

第四种字段类型是 date

出于某种原因,它不喜欢我的日期字段.我不懂为什么.我究竟做错了什么?

HLG*_*GEM 9

创建一个临时表,以便将日期字段指定为varchar而不是日期,并查看是否可以批量插入该日期字段.您可能在该字段中具有某种不可打印的字符,因此它不是批量插入的日期.

一旦它是一张桌子.选择这样的选择

选择'XX'+ field4 +'XX'

如果你在X和日期之间看到一个空格,你就会有一个不可打印的角色.如果您想知道字符是什么,可以使用ASCII()函数.