Импорт содержимого файла DAT в таблицу SQL Server с помощью мастера импорта и экспорта — ошибка

У меня есть файл .DAT, который выглядит следующим образом: [без имени столбца или заголовка, только данные]: || разделитель; Итак, у меня есть 20 полей.

worth||8000||AC8000||Tal||100||IN||O||2014-01-09 00:00:00||||N||N||N||Y||2014-01-09 00:00:00||Y||19991011||N||Internal||||N

Моя таблица SQL DB также имеет 20 столбцов.

Когда я использую мастер импорта-экспорта, я получаю сообщение об ошибке, как показано ниже:

 - Executing (Error)
 Messages
  Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "Column 0" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
 (SQL Server Import and Export Wizard)

  Error 0xc020902a: Data Flow Task 1: The "output column "Column 0" (10)" failed because truncation occurred, and the truncation row disposition on "output column "Column 0" (10)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.
 (SQL Server Import and Export Wizard)

  Error 0xc0202092: Data Flow Task 1: An error occurred while processing file "H:\servername\Account.20151201.dat\Account.20151201.dat" on data row 109.
 (SQL Server Import and Export Wizard)

 Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Source - Account_20151201_dat" (1) returned error code 0xC0202092.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
 (SQL Server Import and Export Wizard)

Примечание. У меня все столбцы в таблице БД имеют 255 символов.

Подскажите пожалуйста, как решить эту проблему? Как я могу успешно импортировать его в свою БД.


person AskMe    schedule 02.12.2015    source источник


Ответы (1)


Настройте источник плоского файла с правильным типом данных и длиной данных. Кажется, что данные, полученные из файла, превышают длину данных, которую вы определили, что приводит к усечению.

Ваша первая ошибка показывает, что текст, который вы пытаетесь импортировать в один из столбцов, больше, чем размер столбца в вашей базе данных (в целевой таблице БД), поэтому измените размер столбца, чтобы он был больше в вашей БД: ИЗМЕНИТЕ свою ТАБЛИЦУ , установите больше символов для столбца VARCHAR(255),

Для второй ошибки кажется, что некоторые строки в вашем файле DAT имеют менее или более 20 столбцов, которые не совпадают с вашей таблицей, могут быть bi в строке 109, как сообщается в одной из ошибок. Надеюсь, поможет

person InkHeart    schedule 02.12.2015
comment
Спасибо за ваш ответ. Я установил размер 1-го столбца как varchar (max). А для 2-го столбца только 20 (разделенных ||). Любые другие мысли? - person AskMe; 02.12.2015
comment
Отправьте дизайн целевой таблицы, чтобы мы могли сравнить столбцы с этим файлом DAT. - person InkHeart; 02.12.2015
comment
Также проверьте, что это может вам помочь: stackoverflow.com/questions/1039385/ - person InkHeart; 02.12.2015
comment
Спасибо за ваш ответ. Я изменил размер 1-го столбца как текст, и это сработало. - person AskMe; 02.12.2015