Alger
Member
- Katılım
- 28 Eki 2008
- Mesajlar
- 481
- Reaction score
- 0
- Puanları
- 16
- Yaş
- 43
Evet Arkadaşlar bu yeni çıkan 1453 dosyaları çince ve db nin dili chines_prc diye bir dil bu dili değiştirmek için bulduğum bi yolu paylaşıcam bunu ayrıca diğer server sahibleride yapabilir bazen hata verir
hata şu şekildedir..
Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Turkish_CI_AS” in the equal to operation
bu hatanın sebebi ise iki tablo veya iki farklı tablodaki sutunların dili farklı olduğunda bu hatayı verir.
böyle bir hata alıryorsanız bu altta verdiğim kodu db nize uygulayın
ilk önce sqli kullanan tüm programları panelinizi appservi veya xammp ı kapatın
sonra
1. kod
bunu uyguladık bu yukarıdaki kod DB mizin Default dilini SQL_Latin1_General_CP1_CI_AS yaptı ondan sonra alttaki kod uygulıycaz tabi bu kod direk işlem yapmıyor QA da alttaki 1 rows felan yazan yere
DB nin Default Dili İle aynı dili taşımayan sutunlarını aynı dile çevirme kodunu veriyor
NOT: Bu KOD Sadece SQL 2005 ve 2021 De Çalışır...
şu şekilde alttaki bölümde yazılar çıkar
şeklinde bunları ister komple kopyalayıp QA dan girin isterseniz tek tek girin benim tavsiyem tek tek girmeniz çünkü Set Primary Key İşaretli sutunları değiştirmez...
yapabildiğiniz kadarını yapın hata verenler (Set Primary Key işaretli olanlar) en son işiniz bittiğinde elle değiştirirsiniz . tablo Desing Sutuna tıklar Collation a gelip sql_latin yaparsınız.
Umarım Yardımcı Oldum Kodlar Hariç Alıntı Değildir. Alger
hata şu şekildedir..
Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Turkish_CI_AS” in the equal to operation
bu hatanın sebebi ise iki tablo veya iki farklı tablodaki sutunların dili farklı olduğunda bu hatayı verir.
böyle bir hata alıryorsanız bu altta verdiğim kodu db nize uygulayın
ilk önce sqli kullanan tüm programları panelinizi appservi veya xammp ı kapatın
sonra
1. kod
Kod:
[I]ALTER DATABASE kn_online COLLATE [/I][I]SQL_Latin1_General_CP1_CI_AS[/I]
DB nin Default Dili İle aynı dili taşımayan sutunlarını aynı dile çevirme kodunu veriyor
NOT: Bu KOD Sadece SQL 2005 ve 2021 De Çalışır...
Kod:
[I]DECLARE @new_collation varchar(100)
DECLARE @debug bit
DECLARE
@table sysname,
@previous sysname,
@column varchar(60),
@type varchar(20),
@legth varchar(4),
@nullable varchar(8),
@sql varchar(8000),
@msg varchar(8000),
@servercollation varchar(120)
/*
uncomment one of the following lines:
*/
set @new_collation = convert(sysname, databasepropertyex(DB_NAME(), 'collation'))
--- set @new_collation = convert(sysname, serverproperty('collation'))
/*
@debug = 0 to execute
*/
set @debug = 1
if @new_collation is null
begin
print 'which collation?'
goto einde
end
DECLARE C1 CURSOR FOR
select 'Table' = b.name,
'Column' = a.name,
'Type' = type_name(a.system_type_id),
'Length' = a.max_length,
'Nullable' = case when a.is_nullable = 0 then 'NOT NULL' else ' ' end
from sys.columns a
join sysobjects b
on a.object_id = b.id
where b.xtype = 'U'
and b.name not like 'dt%'
and type_name(a.system_type_id) in ('char', 'varchar', 'text', 'nchar', 'nvarchar', 'ntext')
and a.[collation_name] <> @new_collation
order by b.name,a.column_id
OPEN C1
FETCH NEXT
FROM C1
INTO @table,@column,@type,@legth,@nullable
set @previous = @table
WHILE @@FETCH_STATUS = 0
BEGIN
if @table <> @previous print ''
set @sql = 'ALTER TABLE ' + QUOTENAME(@table) + ' ALTER COLUMN ' + QUOTENAME(@column) + ' '
set @sql = @sql + @type + '(' + @legth + ')' + ' COLLATE ' + @new_collation + ' ' + @nullable
print @SQL
if @debug = 0
begin
begin try
EXEC (@sql)
end try
begin catch
print 'ERROR:' + ERROR_MESSAGE()
print ''
end catch
end
set @previous = @table
FETCH NEXT
FROM C1
INTO @table,@column,@type,@legth,@nullable
END
CLOSE C1
DEALLOCATE C1
einde: [/I]
Kod:
ALTER TABLE [__PANEL_NEWS] ALTER COLUMN [Msg] varchar(-1) COLLATE SQL_Latin1_General_CP1_CI_AS
ALTER TABLE [__PANEL_NEWS] ALTER COLUMN [Msg_full] varchar(-1) COLLATE SQL_Latin1_General_CP1_CI_AS
ALTER TABLE [FRIEND_LIST] ALTER COLUMN [strUserID] char(21) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
şeklinde bunları ister komple kopyalayıp QA dan girin isterseniz tek tek girin benim tavsiyem tek tek girmeniz çünkü Set Primary Key İşaretli sutunları değiştirmez...
yapabildiğiniz kadarını yapın hata verenler (Set Primary Key işaretli olanlar) en son işiniz bittiğinde elle değiştirirsiniz . tablo Desing Sutuna tıklar Collation a gelip sql_latin yaparsınız.
Umarım Yardımcı Oldum Kodlar Hariç Alıntı Değildir. Alger