2009-09-22 1 views
0

коллега говорит мне, что нет никакого способа массовой вставки UTF-8 закодированных данных на сервер Microsoft SQL 2008.Microsoft SQL Server 2008 и UTF-8

Может ли это быть правдой? Есть ли какие-нибудь вещи, которые вы бы рекомендовали ему прочитать или посмотреть?

+0

«Коллега». Конечно. : P – Artelius

ответ

2

Это правда. documentation for BULK INSERT говорит: «SQL Server [2008] не поддерживает кодовую страницу 65001 (кодировка UTF-8)».

Существует также Connect Page по этой проблеме, хотя проблема теперь закрыта.

+0

Очень интересная ссылка (страница со связью). А также немного страшно читать ответ Microsoft. –

+0

Я принимаю это как ответ, так как он был открыт так долго. –

3

UTF-8 не является частью стратегии Unicode SQL Server (к сожалению). Однако UTF-8 хорошо поддерживается в .NET. Если вы хотите написать .NET-код, вы можете использовать класс System.Data.SqlClient.SqlBulkCopy в сочетании с System.IO.StreamReader и/или `System.Text.Encoding.UTF8 '.

Другой вариант - услуги Integration Services. Для подключения файлов вы можете выбрать кодовую страницу 65001 (UTF-8).

+0

На самом деле здесь нет .NET. Это среда разработки окон, запускающая Cold Fusion на сервере с бэкэндом MS SQL Server 2008. Все инструменты должны понимать выбранную кодировку. Сейчас выбранная кодировка - ISO-8859-1 (латинский 1). –

+1

<На самом деле, здесь нет .NET. См. Раздел об использовании служб Integration Services. В качестве альтернативы, если вы в Powershell, вы можете вызвать все необходимые .NET вещи оттуда. –

+0

Спасибо за описание обходного пути. –

 Смежные вопросы

  • Нет связанных вопросов^_^