SQL Server: переводы кодовых страниц не поддерживаются для текстовых типов данных - PullRequest
0 голосов
/ 15 декабря 2009

При вставке текста в столбец TEXT в SQL Server с помощью ADO я получаю сообщение об ошибке:

Переводы кодовых страниц не поддерживаются для текстовых типов данных. От: 1257 до: 1252.

Теперь верно, что я изменил свою кодовую страницу Windows на 1257 (эстонский).

Мой вопрос: как SQL Server узнает, в какой кодовой странице я работаю?

Все строки, отправляемые на сервер и с сервера, отправляются в виде широких (Unicode) строк. На сервере SQL Server затем принудительно вставляет строку Unicode в столбец TEXT (не NTEXT). Текстовый столбец настроен на использование кодовой страницы сопоставления 1252 .

В исходной строке нет символов, которые находятся за пределами кодовой страницы Windows 1252. Даже если бы там было, как SQL Server узнал, что я запускаю кодовую страницу 1257 ?

Я попытался профилировать соединение с SQL Server и не вижу ничего похожего на то, как клиент идентифицирует свою кодовую страницу с сервером.

1 Ответ

1 голос
/ 15 декабря 2009

Надеюсь, я не прав, это SQL Server 2000 до SP3 ...

Исправлено в SP3, см. KB 317956

...