Проблемы с использованием утилиты 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
загрузить данные.