Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с кодировкой на server2k  [new]
forza
Member

Откуда:
Сообщений: 18
Есть sql server2k с sp3a. Дефолтная кодовая страница на сервере - виндовая (Ukrainian). Тоесть поля varchar по умолчанию создаются с collation <database default>. БД в процессе разработки. В части таблиц стоит collation Cyrillic_General_CI_AS, что не есть гуд, так как select поля с разными кодовыми страницами дает ошибку. Может кто знает как побороть это ? Создания с чистого листа скриптами базы не желательно, равно как и дописывание в каждом selecte в конце [collation xxx]. И наконец загадка :), откуда взялись разные collation ??
1 апр 04, 11:11    [607347]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой на server2k  [new]
Glory
Member

Откуда:
Сообщений: 104760
Может кто знает как побороть это ? Создания с чистого листа скриптами базы не желательно, равно как и дописывание в каждом selecte в конце [collation xxx].

Это вроде как - чтобы все само собой исправилось ???

откуда взялись разные collation ??
Сначала у базы был один collation и все создаваемые объекты брали его по-умолчанию.
Потом у базы сменили collation и все вновь создаваемые объекты опять по-умолчанию брали этот collation.
1 апр 04, 11:20    [607374]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой на server2k  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Дефолтная кодовая страница на сервере - виндовая (Ukrainian).


А у базы какая?

автор
откуда взялись разные collation


Вариантов может быть 2. Или таблицы создавались с явным указанием коллэйшенов для столбцов или сначала у базы был дефолтный коллэйшен Cyrillic_General_CI_AS, а потом его сменили на Ukrainian.

автор
Может кто знает как побороть это ?


Привести все столбцы к нужному коллэйшену с помошью

ALTER TABLE TableName ALTER COLUMN ColumnName <datatype> COLLATE Ukrainian_CI_AS


А получить список столбцов, которые надо менять можно так:

SELECT     

TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
(COLLATION_NAME = N'Cyrillic_General_CI_AS')
1 апр 04, 11:24    [607387]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой на server2k  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Забыл сказать, что для смены коллэйшена у столбца могут быть ограничения. Их полный перечень есть в разделе BOL про ALTER TABLE.
1 апр 04, 11:28    [607405]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить