Новый веб-сервер и старый SQL Server с разными результатами с одинаковым кодом? - PullRequest
2 голосов
/ 09 марта 2011

У меня есть новый сервер с тем же классическим кодом ASP, который подключается к той же базе данных SQL Server 2000 с той же строкой подключения, но, похоже, теперь данные по-разному извлекаются из базы данных. В частности, существует специальная функция шифрования, которая создает специальные символы (не ASCII) и сохраняет их в поле VARCHAR. (Это устаревший код.) Поскольку ничего не изменилось, кроме веб-сервера, диагностировать эту проблему было сложно.

Существуют ли какие-либо настройки, которые будут управлять драйвером базы данных, который позволит этим данным выходить из базы данных? Кажется, набор символов не обрабатывается на новом сервере так же, как на старом сервере. Что я могу изменить в настройках драйвера ODBC?

Изменение версии сервера с IIS 6 на IIS 7.5. Новый сервер, очевидно, также имеет новые версии драйверов ODBC.

Любая помощь приветствуется?

1 Ответ

0 голосов
/ 09 марта 2011

Я подозреваю, что что-то связано с Locale, а не с чем-либо еще.Однако я не понимаю Locale.: - (

Если это хранимый процесс, быстрое решение может состоять в том, чтобы изменить тип данных в параметре / столбце БД на NVARCHAR. С ASP это все равно будет значения BSTR Юникода в приложении, поэтомуперемещение преобразования в базу данных может облегчить управление, при необходимости, указав параметры сортировки, которые будут использоваться для преобразования.

Если у вас есть код ASP, вы также можете отредактировать опцию, скажем, cast(password as nvarchar(50)) as password или что-то ещедобиться того же результата.

...