Я использую BCP для загрузки данных с сервера SQL, используя опцию запроса.
Однако я заметил, что если содержимое данных в каких-либо столбцах содержит '\ n', содержимое, экспортированное из BCP, будет обрабатываться как перевод строки.
Например, если данные в SQL Сервер:
COLUMN_1 COLUMN_2
AAA NAME\nSURNAME
BBB NAMESURNAME
Экспортируемый файл будет выглядеть следующим образом:
AAA NAME
SURNAME
BBB NAMESURNAME
Как я понимаю, см. Документ BCP, - c не должен трактовать \ n как символ новой строки.
- c Выполняет операцию с использованием символьного типа данных. Эта опция не запрашивает для каждого поля; он использует char в качестве типа хранилища, без префиксов и с \ t (символ табуляции) в качестве разделителя полей и \ r \ n (символ новой строки) в качестве разделителя строки. - c не совместим с -w.
Я не уверен, что я неправильно понял.
Вот команда, которую я использую:
bcp "select [col_name] from [table_name] where [condition]" queryout test.dat -U[username] -P[password] -S[serverip.port] -c
Спасибо.