powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перевод (транслирование) в другой Collation.
2 сообщений из 2, страница 1 из 1
Перевод (транслирование) в другой Collation.
    #32025925
Tchikryzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо трансформировать базу (1С Предприятие), созданную в SQL_Latinica_General..., в Cyrillic_General. Простое "ALTER DATABASE ... COLLATE" не помогает, экспортирование не переносит ключей, при попытке обработки выдает собщение о нарушении структуры некоторых таблиц. При формировании SQL запроса в DTS по всем таблицам - сваливается, жалуется на превышение времени ожидания.
Буду очень признателен!
...
Рейтинг: 0 / 0
Перевод (транслирование) в другой Collation.
    #32026429
SMelnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот скрипт отработает по всем полям. кроме тех, где есть индексы. Такие поля через EM. Хотя скрипт при желании можно доработать.


-- Изменение Collation во всех полях текущей базы данных
Use Нужнаябазаданных
go
declare @CName varchar(255), @TName varchar(255), @OName varchar(255), @Sql varchar(8000), @Size int, @Status tinyint
SET IMPLICIT_TRANSACTIONS on

declare cur_char cursor GLOBAL
for Select C.Name, T.Name, O.Name, C.length, C.isnullable
from syscolumns C, systypes T, sysobjects O
Where T.Name in ('varchar', 'char', 'text', 'nchar', 'nvarchar', 'ntext') and O.xtype='U' and C.xtype=T.xtype and C.ID=O.ID and not exists(Select * from sysindexkeys I where O.id=I.id and C.colorder=I.colid)

open cur_char

fetch cur_char into @CName, @TName, @OName, @Size, @Status
while @@Fetch_Status =0
begin
set @Sql='Alter table '+@OName+' alter column '+@CName+' '+@TName+'('+convert(varchar,@Size)+') collate Cyrillic_General_CI_AS '+case when @Status=1 then 'null' else 'not null' end
print @Sql
exec (@Sql)
fetch cur_char into @CName, @TName, @OName, @Size, @Status
end


close cur_Char
deallocate cur_char
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перевод (транслирование) в другой Collation.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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