BCP: невозможно разрешить параметры сортировки на уровне столбцов

Выполнение этого:

bcp MyDb.dbo.uvwMyView out "c:\Test.txt" -SMyServer -T -c

Я получаю эту ошибку:

SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Unable to resolve column level collations 

Поиск в Google находит множество возможных решений, ни одно из которых не работает для меня или не работает ни для кого из людей, для которых они были предложены. Как и в случае с другими случаями, размещенными в Интернете, представление не вызывает проблем, когда я выбираю его в Management Studio, и результаты выглядят нормально (и не содержат специальных символов, я проверял). Один текстовый столбец в результатах имеет параметры сортировки SQL_Latin1_General_CP1_CS_AS. Я пробовал несколько вариантов bcp безрезультатно: -w, -CRAW, -COEM, -C850, -C437.

Я использую SQL Server 2005.


person user12861    schedule 09.11.2009    source источник


Ответы (6)


Удаление представления и его воссоздание устранили проблему. К сожалению, это не объясняет, как проблема возникла в первую очередь, или как предотвратить ее в будущем. Это неудовлетворительное решение, поэтому, если кто-то знает лучший ответ, мне все равно очень интересно его услышать.

person user12861    schedule 11.11.2009
comment
Прошло уже 11 лет, и эта проблема никогда не повторялась. Как странно. - person user12861; 29.04.2021

  • Вы можете попытаться удаленно подключиться к серверу и запустить оттуда bcp без опции -s.
  • Если параметры сортировки сервера отличаются от параметров сортировки базы данных или столбцов, попробуйте создать файл формата и явно указать его в файле bcp.
person Damir Sudarevic    schedule 09.11.2009
comment
Это может быть нелегко для меня, но я могу попробовать, и это может дать полезную информацию (хотя я сомневаюсь в этом). К сожалению, я не смогу запустить этот процесс в продакшене, несмотря ни на что, поэтому в долгосрочной перспективе это мне не поможет, если только каким-то образом не поможет отследить реальный источник проблемы. - person user12861; 09.11.2009
comment
Хорошая идея с файлом формата, но, к сожалению, я получаю ту же ошибку. - person user12861; 09.11.2009
comment
Что он говорит о формате столбца (см. xml), когда вы запускаете это: bcp MyDB.dbo.uvwMyView format null -f c:\FMT_01.xml -x -c -T -t - person Damir Sudarevic; 09.11.2009
comment
Достаточно раздражающе, я получаю то же сообщение об ошибке. То есть я не могу запустить заявление, которое вы упомянули. В предыдущем тесте я создал файл формата, используя существующий файл формата для представления, которое имеет точно такой же формат (выбирает из тех же таблиц) и не имеет этой проблемы. - person user12861; 09.11.2009

Я знаю, что на этот вопрос уже дан ответ, но я добавлю свои 2 цента... Сегодня я столкнулся с этим, мне пришлось добавить PRINT @VarableName, и в ходе исследования я нашел это:

Из MS Connect

Удаление PRINT устранило мою проблему.

person Steven howes    schedule 22.08.2011
comment
Интересно, и спасибо за добавление этого, но это была не проблема, с которой я столкнулся. У меня не было никаких заявлений PRINT. - person user12861; 22.08.2011

Я использовал инструменты SQL 2005 для базы данных SQL 2008 R2 и получил ту же ошибку при использовании полей datetimeoffset.

person kͩeͣmͮpͥ ͩ    schedule 14.11.2011

Попробуй это:

declare @sql varchar(8000)
select @sql = 'bcp "select * from database_name.dbo.table_name" queryout      H:\Tempfile_DTU_proc\test1.csv -c -t, -T -S' + @@servername

exec master..xp_cmdshell @sql
person namrta narula    schedule 01.03.2017

Я просто столкнулся с этой проблемой и нашел другое решение. Из-за ошибки конфигурации имя сервера не было передано команде BCP. Для избыточности и документации это сообщение: Ошибка SQLState = S1 000, NativeError = 0 Ошибка = [Microsoft] [Драйвер ODBC 13 для SQL Server] Невозможно разрешить сопоставление на уровне столбцов, копирование BCP не удалось

Измените значение нулевого сервера, указанное в параметре Сервер (-S), на правильное имя сервера.

person jhowa1    schedule 05.08.2020