powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Что такое collation в MS SQL2000?
7 сообщений из 7, страница 1 из 1
Что такое collation в MS SQL2000?
    #32004338
Собрался переводить свои базы с MS SQL 7.0 (Windows NT 4.0) на MS SQL 2000 (Windows 2000), причем новый сервер развернул на новой машине. Базы переношу с помощью sp_attach_db. На старом сервере кодовая страница 1251, case insensitive, dictionary order. После аттачмента на SQL2000 в свойствах баз индицируется collation с именем SQL_Latin1_General_CP1251_CI_AS. Нормально ли это? Часть приложений работает криво, ASP-скрипты вообще при публикации в интранет-сети выводят "гречку", для ACCESS-приложений приходится подстраивать ODBC на каждой Win2000 (eng)-клиентской станции (опция "не преобразовывать набор символов") и т.д. Дальнейший перевод баз пришлось приостановить - видимо не все нормально...
Коллеги, где я мог "проколоться" ? И насколько важен выбор collation для нормальной работы?
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004358
REX_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты какой collation выбрал когда устанавливал сервер? Необходимо было выбрать точно такой как у SQL7.0.
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004364
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдержка из 38-го выпуска рассылки:
... параметр, который Вы можете увидеть в Enterprise Manager во вкладке Options, это уровень совместимости. Чтобы устанавливать эту опцию, необходимо выбрать в раскрывающемся списке соответствующий уровень. Уровень 80 соответствует SQL Server 2000, уровень 70 соответствует SQL Server 7.0, а уровень 65 соответствует SQL Server 2000 6.5. Уровень совместимости определяет реакцию сервера на некоторые запросы к базе данных и обеспечивает обратную совместимость. Уровень совместимости существовал и SQL Server 7.0, но доступен он был только через системную хранимую процедуру sp_dbcmptlevel. Подробную информацию о том, какой уровень совместимости Вам необходимо выбрать при переходе на новую версию, особенно когда не подлежит переделке клиентское приложение, Вы можете найти в BOL.
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004552
Спасибо, я разобрался сам. Оказалось, в MS SQL 2000 принципиально важно, чтобы colletion(сопоставление) в базе с которой работает приложение (неважно какое Delphi, ASP, ACCESS) совпадало с collation принятой в сервере по умолчанию (в момент инсталляции). Дело в том, что такие объекты, как временные таблицы, создаются с сопоставлением не их "родной" базы, а сопоставлением, принятым по умолчанию. Поэтому, как только встречается более-менее сложный запрос, увязывающий временную таблицу и постоянную, возникает конфликт сопоставлений - сервер просто "не знает" по каким правилам сортировки выводить результат запроса.
Лечится это применением в тексте запроса ключевого слова COLLATE, с указанием имени сопоставления. Но это ... переработка почти всех приложений. Я предпочел перегенерацию сервера и приведение всех баз к "общему знаменателю"
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004555
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погодите-погодите! Верно ли я понял, что БД версии 7.0 запросто подключаются к версии 2000 с помощью sp_attach_db? Разве такое вообще возможно без конвертации или перекачки через DTS? В версиях 7.0 и 2000 само понятие Collation довольно сильно различается. В принципе невозможно установить одинаковые Collation на серверах разных версий.
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004609
Гавр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Garya
Вот именно таким способом мы и перешли с 7 на 2000.
Я сам удивился, что так просто получилось
...
Рейтинг: 0 / 0
Что такое collation в MS SQL2000?
    #32004653
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В книжке Мамаева особо подчеркиваются различия в понимании под термином Collation в версиях 7.0 и 2000. Вкратце, суть в том, что Collation в 7.0 - это только языковые настройки. В версии 2000 это СОВОКУПНОСТЬ языковых настроек, параметров сортировки (Case sensitive/insensitive, binary e.t.c.). И именно поэтому даже для схожих настроек наименования Collation в разных версиях СПЕЦИАЛЬНО сделаны различающимися.
2 Гавр. Неужели все нормально работает? А ежели сказать Order by по запросу с полями, содержащими русский текст? А case sensitive/insensitive - с этим тоже все в порядке? Если да, то я просто в обмороке!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Что такое collation в MS SQL2000?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]