2013-09-25 3 views
0

Я использовал объемную вставку в SQL Server Management Studio 2008 R2, 10 слов из текстового файла UTF-8, в один столбец.BULK INSERT работает неправильно

Однако слова не отображаются правильно, я получаю дополнительное пространство перед некоторыми словами.

Примечание: ни один из ответов не разрешил мою проблему до сих пор. :(

SCREENSHOT OF THE PROBLEM

+0

В худшем случае просто обрезать результат, если ваша целостность данных кажется нормально, кроме additionnal пространств. – plalx

+0

Какова кодировка вашего текстового файла? – Szymon

+0

@Szymon UTF-8, проверьте ссылку в вопросе, вы найдете всю информацию. –

ответ

0

Эта проблема может возникнуть, если вы не используете правильные параметры сортировки (настройки языка). Вы должны использовать соответствующие параметры сортировки для того, чтобы отобразить данные в правильном формате. См ссылка http://technet.microsoft.com/en-us/library/ms187582(v=sql.105).aspx для получения более подробной информации

+0

Проверьте кодировку своего файла. Столбец – Honorificabilitudinitas

+0

- это nvarchar (50), а файл UTF-8, я все равно получаю ту же ошибку. –

0

Посмотрите на этот пост How to write UTF-8 characters using bulk insert in SQL Server?

Цитата:.. Вы можете не следует первым использовать поле данных N типа, конвертировать ваш файл в UTF-16, а затем импортируйте его. База данных не поддерживает UTF-8.

Оригинальные ответы

взгляд на кодирование Youre текстового файла. Должно быть utf8. Если нет, это может вызвать проблемы.

Открыть с помощью блокнота, файл-> сохранить как и выбрать кодирующий

После этого попробуйте импортировать как сыпучий

во-вторых, убедитесь, что столбец тип данных NVARCHAR и не VARCHAR. Также см here

+0

проверить скриншот, это уже UTF-8, и не работает. –

+0

a и установите тип данных столбца nvarchar вместо varchar – lordkain

+0

@Iordkain [Нажмите здесь, чтобы посмотреть скриншот. Это уже есть.] (Http://i.stack.imgur.com/4Yueb.png) –

0

Вы также можете попробовать использовать другую строку терминатор:

bulk insert table_name 
from 'filename.txt' WITH (ROWTERMINATOR='\n') 
+0

попробуйте это тоже, все еще не работает. –

+0

Можете ли вы также попробовать различные опции 'DATAFILETYPE' и' CODEPAGE', как описано здесь: http://technet.microsoft.com/en-us/library/ms188365(v=sql.100).aspx – Szymon