Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

изменение кодировки в базе MSSQL


kivadim ©   (2005-02-24 12:23:00) 

Можно в готовой БД под MSSQL поменять кодировку (collation name).
Если да то как?


MOA   (2005-02-24 13:49:00) [1]

Штука в том, что в хранимых процедурах и функциях строковые переменные и выражения имеют collation тот же, что и tempdb. То же относится и к строковым выражениям (типа F1+RTRIM(f2)) внутри запросов и вьюх.
Если ничего не делать, и collation не совпадает - сервер будет ругаться на невозможность преобразования типов. Ничего фатального, конечно - но придётся во всех таких местах ставить явное преобразование к нужному коллайту. А таких мест, если база уже большая - оказывается очень много - большинство вьюх, процедур и функций. К тому же, во всех новых ХП, функциях, вьюхах и селектах ставить бесконечные преобразования. Код получается караул - совершенно не читаемый.
Удачи!


Anatoly Podgoretsky   (2005-02-24 13:44:00) [2]

А все что связано с collation будет в этом случае неправильно работать.


kivadim   (2005-02-24 13:41:00) [3]

> MOA ©   (24.02.05 13:32) [3]
>В противном случае Вас ожидают трудные и увлекательные >приключения ;).

а именно... объясните пожайлуста.


MOA   (2005-02-24 13:32:00) [4]

Кроме того, при смене collation нужно иметь в виду, что крайне желательно, чтобы новый collation базы совпадал с Collation tempdb (а лучше - и с master). В противном случае Вас ожидают трудные и увлекательные приключения ;).
Удачи!


stone   (2005-02-24 13:11:00) [5]

ALTER DATABASE database
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE < filespec >
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < collation_name >}


Reindeer Moss Eater   (2005-02-24 12:25:00) [6]

Кодировка и collation - разные вещи.
И поменять, как мне помнится - нельзя.


Наверх

Титульная страница Поиск, карта сайта Написать письмо