Несоответствие массовой вставки с форматным файлом - PullRequest
0 голосов
/ 07 ноября 2019

У меня возникла проблема при попытке выполнить массовую вставку. Я не могу заставить его работать с файлом формата со столбцом даты рождения, все, что я получаю, это ошибка несоответствия. Я получаю эту ошибку ниже Массовая ошибка преобразования данных загрузки (несоответствие типов или недопустимый символ для указанной кодовой страницы) для строки 1, столбца 5 (BIRTHDATE). [SQLSTATE 42000] (ошибка 4864). Мой формат файла также настроен как datetime и временная таблица. Также столбец open_date выдаст ту же ошибку. Единственный способ, которым я заставил это работать до сих пор, если я делаю плавание.

(
    MEMBERNUMBER float
      ,[FIRSTNAME] varchar(255) null
      ,[MIDDLENAME] varchar(255) null
      ,[LASTNAME]varchar(255) null
      ,[BIRTHDATE] datetime null
      ,[GENDER] varchar(255) null
      ,[MARITALSTATUS] varchar(255) null
      ,[OCCUPATIONINDUSTRY] varchar(255) null
      ,[OCCUPATIONTITLE]varchar(255) null
      ,[ADDRESS1]varchar(255) null
      ,[ADDRESS2]varchar(255)null
      ,[CITY] varchar(255)null
      ,[STATE] varchar(255)null
      ,[POSTALCODE] float null
      ,[HOMEPHONE] varchar(255) null
      ,[CELLPHONE] varchar(255) null
      ,[WORKPHONE] varchar(255) null
      ,[EMAIL] varchar(255) null
      ,[ALTERNATEEMAIL] varchar(255) null
      ,[OPEN_DATE] datetime null
      ,[MARKETINGOPTION] varchar(255) null

)

BULK INSERT CSVTempData
FROM '\\eftroot\ftps\usr\EmailMarketing.csv'
WITH
(FormatFile = '\\EFTRoot\ftps\Usr\FormatFiles\Test.fmt')

-- format file here 
8.0
21

1   SQLFLT8   0   30  ","        1  MEMBERNUMBER        SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR   0   255  ","       2  FIRSTNAME           SQL_Latin1_General_CP1_CI_AS
3   SQLCHAR   0   255   ","      3  MIDDLENAME          SQL_Latin1_General_CP1_CI_AS
4   SQLCHAR   0   255  ","       4  LASTNAME            SQL_Latin1_General_CP1_CI_AS
5   SQLDATETIME  0  9 ","     5 BIRTHDATE           SQL_Latin1_General_CP1_CI_AS
6   SQLCHAR   0   255   ","      6  GENDER              SQL_Latin1_General_CP1_CI_AS
7   SQLCHAR   0   255   ","      7  MARITALSTATUS       SQL_Latin1_General_CP1_CI_AS
8   SQLCHAR   0   255   ","      8  OCCUPATIONINDUSTRY  SQL_Latin1_General_CP1_CI_AS
9   SQLCHAR   0   255   ","      9  OCCUPATIONTITLE     SQL_Latin1_General_CP1_CI_AS
10  SQLCHAR   0   255   ","      10 ADDRESS1            SQL_Latin1_General_CP1_CI_AS
11  SQLCHAR   0   255   ","      11 ADDRESS2            SQL_Latin1_General_CP1_CI_AS
12  SQLCHAR   0   255   ","      12 CITY                SQL_Latin1_General_CP1_CI_AS
13  SQLCHAR   0   255   ","      13 STATE               SQL_Latin1_General_CP1_CI_AS
14  SQLFLT8   0   8   ","      14   POSTALCODE          SQL_Latin1_General_CP1_CI_AS
15  SQLCHAR   0   255   ","      15 HOMEPHONE           SQL_Latin1_General_CP1_CI_AS
16  SQLCHAR   0   255  ","       16 CELLPHONE           SQL_Latin1_General_CP1_CI_AS
17  SQLCHAR   0   255   ","      17 WORKPHONE           SQL_Latin1_General_CP1_CI_AS
18  SQLCHAR   0   255   ","      18 EMAIL               SQL_Latin1_General_CP1_CI_AS
19  SQLCHAR   0   255   ","      19 ALTERNATEEMAIL      SQL_Latin1_General_CP1_CI_AS
20  SQLDATETIME 0  9  ","      20   OPEN_DATE           SQL_Latin1_General_CP1_CI_AS
21  SQLCHAR   0   255   "\r\n"   21 MARKETINGOPTION     SQL_Latin1_General_CP1_CI_AS




insert into ser.dbo.MembersNew

select *
from CSVTempData
...