2015-12-02 1 views
0

У меня есть .DAT-файл, который выглядит ниже формата [no column name или header, only data]: || - разделитель; поэтому у меня 20 полей.Импортировать содержимое DAT-файла в таблицу SQL Server с помощью мастера импорта Export - Ошибка

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 полукокса.

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

ответ

0

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

Ваша первая ошибка показывает, что текст, который вы пытаетесь импортировать в одном из столбцов, больше размера столбца в вашей базе данных (в таблице назначения db), Так измените размер столбца, который будет больше в вашем DB: ALTER your TABLE, установите больше символов для столбца VARCHAR (255),

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

+0

Спасибо за ваш ответ. Я установил размер 1-го столбца как varchar (max). И для 2-го столбца, только для 20-го (разделено на ||). Любые другие мысли? – AskMe

+0

Пожалуйста, присылайте дизайн таблицы назначения, чтобы мы могли сравнивать столбцы с этим DAT-файлом. – InkHeart

+0

Также проверьте, что это может вам помочь: http://stackoverflow.com/questions/1039385/truncation-errors-importing-to-sql-server-2005-from-excel?rq=1 – InkHeart

Смежные вопросы