В файле данных BCP обнаружен неожиданный EOF - PullRequest
0 голосов
/ 12 сентября 2018

Я пытался скопировать данные из таблицы в другую таблицу в другой базе данных, используя bcp.

Сначала файл формата был создан с использованием

!! bcp dbName1.dbo.tableName1 format nul  -S serverName1 -T -f D:\tableName1_fmt.txt -n

Затем файл данных был создан с использованием

!! bcp dbName1.dbo.tableName1 out D:\tableName1.txt  -S  serverName1 -T -c

Теперь я попытался импортировать файл данных в другую таблицу в другой базе данных, присутствующей на другом сервере, используя файл формата

!! bcp dbName2.dbo.tableName2 in D:\tableName1.txt -f D:\tableName1_fmt.txt  -S ServerName2 -T -E 

Затем была сгенерирована следующая ошибка

Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC Driver 13 for SQL Server]Unexpected EOF encountered in BCP data-file

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 1    

Я понял проблему. Но это был случай, отличный от существующих в Stackoverflow.

Так что я пишу свое решение на случай, если кто-то столкнется с тем же, может быть полезным.

1 Ответ

0 голосов
/ 12 сентября 2018

Проблема была с спецификаторами формата (-c, -n) при создании Format-file и Data-file.

Спецификатор формата для файла формата (-n) и файла данных (-c) отличался.

Когда я изменил спецификатор формата обоих на -c или -n, оператор импорта сработал.

Поскольку сохранение типа данных столбцов было важно для моей цели, -n использовался для файла формата и файла данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...