У меня проблемы с нашей базой данных MSSQL, установленной в любой из турецких коллайсов. Безусловно, проблема «Турецкий я», ни один из наших запросов, содержащих «i» в них, работает правильно. Например, если у нас есть таблица под названием «Unit» с указанным в этом случае столбцом «UnitID», запрос «select unitid from unit» больше не работает, потому что нижний регистр «i» в «id» отличается от заданного капитала Я в «UnitID». В сообщении об ошибке будет указано «Недопустимое имя столбца« unitid ».»Проблемы с турецким SQL Collation (турецкий «I»)
Я знаю, что это происходит потому, что на турецком языке буквы i и I рассматриваются как разные буквы. Однако я не уверен, как решить эту проблему? Невозможно пройти через все 1900 SP в БД и исправить оболочку «i».
Любая помощь будет оценена, даже предложения других сопоставлений, которые могут быть использованы вместо турецкого, но будут поддерживать их набор символов.
Можете ли вы опубликовать ссылку на страницу с описанием проблемы «turkish i»? – Tomalak
@Tomalak, посмотрите эту страницу: http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html –
Я знаю эту страницу. Но я не уверен, что вы поступаете правильно. «Тест Турции» посвящен анализу данных, но описание проблемы похоже на то, что вы используете турецкий язык i в тексте SQL-запроса, чего вы не должны делать в любом случае. – Tomalak