Проблемы с использованием утилиты BCP SQL Server для вставки данных

У меня есть то, что должно быть простой задачей: с помощью ISQLполучить данные из базы данных Sybase и использовать BCP утилита для вставки результирующего CSV-файла в таблицу базы данных SQL Server.

Я пробовал несколько перестановок данных в кавычках / без кавычек, файлов форматирования и т. Д., Но BCP продолжает выдавать ту же ошибку:

Начальная копия...
SQLState = S1000, NativeError = 0
Ошибка = [Microsoft][Собственный клиент SQL Server 11.0] Неверный размер поля для типа данных
SQLState = S1000, NativeError = 0

Входящий файл данных состоит из девяти столбцов:

"he1aixp9-2","srcpdb",20150701,20150731,"N","IBM  UDB","udbxsrcp_sby",202025,196358

Я использовал BCP утилита для создания файла формата для рассматриваемой таблицы, используя предложенные значения по умолчанию для каждого столбца:

11.0
9
1       SQLCHAR             2       32      ","    1     ID_ETY_SVR                               SQL_Latin1_General_CP1_CI_AS
2       SQLCHAR             2       32      ","    2     ID_ETY_DB                                SQL_Latin1_General_CP1_CI_AS
3       SQLDATE             1       3       ","    3     DT_SMPL_BEG                              ""
4       SQLDATE             1       3       ","    4     DT_SMPL_END                              ""
5       SQLCHAR             2       1       ","    5     FLAG_DEL                                 SQL_Latin1_General_CP1_CI_AS
6       SQLCHAR             2       64      ","    6     TYPE_DB                                  SQL_Latin1_General_CP1_CI_AS
7       SQLCHAR             2       32      ","    7     ID_ETY_HOST                              SQL_Latin1_General_CP1_CI_AS
8       SQLBIGINT           1       8       ","    8     ID_ETY_SPACE_TOTAL                       ""
9       SQLBIGINT           1       8       ""     9     ID_ETY_SPACE_USED                        ""

Я использую следующую командную строку для вызова процесса:

"\Program Files\Microsoft SQL Server\110\Tools\Binn\bcp" [table_to_load] in [Data File to be loaded] -S[server] -[database] -T -fDBLoad.fmt

До сих пор я сделал следующее:

  • Потратил часы на поиск в интернете и чтение онлайновой документации от MS.
  • Запустите данные через фильтр, чтобы убедиться, что все начальные / конечные пробелы были удалены.
  • Гарантировано, что все символьные столбцы заключены в кавычки (ISQL здесь не поможет, и я не могу использовать расширения PowerShell).
  • Убедитесь, что все строки имеют правильное количество столбцов.
  • Попытка загрузить однострочный тестовый файл, выборочно сокращая данные каждого столбца до одного байта (только символ), чтобы убедиться, что ни одно поле не является слишком длинным (я проверил определение таблицы, а они нет).
  • Убедитесь, что используемый формат даты "ГГГГММДД" по вкусу БД.

Это такая тривиальная проблема, и все же я не могу получить BCP загрузить данные.

0 ответов

Другие вопросы по тегам