Импорт BCP с акцентированными символами на SQL 2012 - PullRequest
0 голосов
/ 15 января 2020

Я создал файл .csv для bcp в этом формате:

x,y,z(CR LF)
x,y,z(CR LF) etc...

У меня есть команда bcp in, работающая, как показано ниже:

bcp "{table}" in "{csv path}" -S {server} -t -T -q -w -f "{format xml file}"

Использование команды форматирования ниже & file:

bcp "{table}" format nul -t, -T -q -S {server} -f {format file} -x

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

Я просмотрел SQL Документы , но примеры не решают эту проблему.

Мой .csv находится в следующем формате данных:

bigint, date, date, nvarchar, varchar, varchar, bigint, bigint

Я неправильно понимаю, должен ли я исправить файл формата, команду загрузки IN или, возможно, оба?

Спасибо.

Редактировать: На основе MS docs Теперь я начал вручную создавать файл форматирования, как показано ниже - что всегда приводит к неверному размеру поля для ошибки типа данных.

11.0
8
1       SQLCHAR         0       15      ","      1     fn1 Latin1_General_CI_AS
2       SQLDATE         1       3       ","      2     fn2 ""
3       SQLDATE         1       3       ","      3     fn3 ""
4       SQLNCHAR        2       510     ","      4     fn4 SQL_Latin1_General_CP1_CI_AS
5       SQLCHAR         2       50      ","      5     fn5 Latin1_General_CI_AS
6       SQLCHAR         2       40      ","      6     fn6 Latin1_General_CI_AS
7       SQLBIGINT       1       8       ","      7     fn7 ""
8       SQLBIGINT       1       8       "\r\n"   8     fn8 ""

Я также изменил параметры сортировки в поле таблицы nchar на 'SQL_Latin1_General_CP1_CI_AS'

1 Ответ

0 голосов
/ 16 января 2020

Наконец-то решено!

Я изменил свой ввод bcp .csv в формат ANSI и создал свой файл .fmt с кодовой страницей 1252.

Я также обеспечил свою таблицу SQL поле было сопоставлено с SQL_Latin1_General_CP1_CI_AS

Итак, когда CSV был ANSI, мой код формата был:

bcp "table" format nul -q -T -S {server} -t, -r \n -f C:\LocalStuff\abc.fmt -c -C 1252 -x

После загрузки с помощью ab c .fmt, оно работает!

Спасибо всем, кто помог.

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