При вставке текста в столбец TEXT в SQL Server с помощью ADO я получаю сообщение об ошибке:
Переводы кодовых страниц не поддерживаются для текстовых типов данных. От: 1257 до: 1252.
Теперь верно, что я изменил свою кодовую страницу Windows на 1257 (эстонский).
Мой вопрос: как SQL Server узнает, в какой кодовой странице я работаю?
Все строки, отправляемые на сервер и с сервера, отправляются в виде широких (Unicode) строк. На сервере SQL Server затем принудительно вставляет строку Unicode в столбец TEXT (не NTEXT). Текстовый столбец настроен на использование кодовой страницы сопоставления 1252 .
В исходной строке нет символов, которые находятся за пределами кодовой страницы Windows 1252. Даже если бы там было, как SQL Server узнал, что я запускаю кодовую страницу 1257 ?
Я попытался профилировать соединение с SQL Server и не вижу ничего похожего на то, как клиент идентифицирует свою кодовую страницу с сервером.