Forum

Insert Into Türkçe ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] Insert Into Türkçe Karekter Sorunu

4 Yazılar
2 Üyeler
4 Reactions
2,584 Görüntüleme
(@ibrahimayhan)
Gönderiler: 497
Prominent Member
Konu başlatıcı
 

Merhabalar ÇözümPark ve Ekibi,

2 Aynı DB Üzerindeki Tabloların Bazılarındaki Verileri Diğer Tabloya Taşımam Gerekmektedir,

DB1 ve DB2 Collactionları Turkish_CI_AS Olarak Recovery FULL Olarak Görülmektedir,

DB2 Üzerindeki KullaniciIslemleri Tablosuna Baktığımda Verilerim İstediğim Gibi Türkçe Karekter Görülmektedir,

SET IDENTITY_INSERT BTM.[dbo].[KullaniciIslemleri] ON;
Insert Into BTM.dbo.KullaniciIslemleri(KayitNo, Durum, YetkiIslemleriKayitNo, Adi, Soyadi, Parola, EPosta, SabitTelefon, Dahili, CepTelefonu, Aciklama, KullaniciProfilGorseli, GlobalDeger)
Select KayitNo, Durum, YetkiIslemleriKayitNo, Adi, Soyadi, Parola, EPosta, SabitTelefon, Dahili, CepTelefonu, Aciklama, KullaniciProfilGorseli, GlobalDeger From KullaniciIslemleri
SET IDENTITY_INSERT BTM.[dbo].[KullaniciIslemleri] OFF;

Yalnız Taşıma Yaptığımda DB1 - KullaniciIslemleri Tablosundaki Örnek ı,ş,ğ Gibi Harflar i,s,g Olarak Taşınmaktadır,

Ama Taşınan Verideki İngilizce Karekterleri Manuel Değiştiremiyorum Yani Satır Veri Eklersem Türkçe Karekter Olarak Yazmaktadır ?

Burada Sorunu Nasıl Çözebilirim ?

 

 

 

 
Gönderildi : 16/12/2020 10:31
Konu Etiketleri

(@omercolakoglu)
Gönderiler: 69
Trusted Member
 

Merhaba Halil İbrahim

Tablonun collation ı Türkçe değildir. Onu düzeltir misin?

ALTER TABLE [table] ALTER COLUMN [column] VARCHAR(100) COLLATE Turkish_CI_AS şeklinde.

Aşağıdaki sorgu bu işi bir tablodaki tüm kolonlarda yapar.

SELECT 'ALTER TABLE [' + l.schema_n + '].['
+ l.table_name + '] ALTER COLUMN ['
+ l.column_name + '] ' + l.data_type + '('
+ Cast(l.new_max_length AS NVARCHAR(100))
+ ') COLLATE ' + l.dest_collation_name + ';',
l.schema_n,
l.table_name,
l.column_name,
l.data_type,
l.max_length,
l.collation_name
FROM (SELECT Row_number()
OVER (
ORDER BY c.column_id) AS row_id,
Schema_name(o.schema_id) schema_n,
ta.NAME table_name,
c.NAME column_name,
t.NAME data_type,
c.max_length,
CASE
WHEN c.max_length = -1
OR ( c.max_length > 4000 ) THEN 4000
ELSE c.max_length
END new_max_length,
c.column_id,
c.collation_name,
'French_CI_AS' dest_collation_name
FROM sys.columns c
INNER JOIN sys.tables ta
ON c.object_id = ta.object_id
INNER JOIN sys.objects o
ON c.object_id = o.object_id
JOIN sys.types t
ON c.system_type_id = t.system_type_id
LEFT OUTER JOIN sys.index_columns ic
ON ic.object_id = c.object_id
AND ic.column_id = c.column_id
LEFT OUTER JOIN sys.indexes i
ON ic.object_id = i.object_id
AND ic.index_id = i.index_id

) l
where table_name ='KullaniciIslemleri'

 
 
Gönderildi : 16/12/2020 10:59

(@ibrahimayhan)
Gönderiler: 497
Prominent Member
Konu başlatıcı
 

Geri Dönüşünüz ve Cevabınız İçin Teşekkür Ediyorum @omercolakoglu

CP1

Taşıma Öncesi Tablo Turkish_CI_AS Görülmesine Rağmen Gönderdiğiniz Select Göre Latin Görülüyordu,

CP2

Taşıma Öncesi Alter İşlemini Uygulayıp Taşımayı O Şekilde Yaptıktan Sonra Yaşadığım Sorun Çözümlenmiştir,

Tekrardan Desteğiniz İçin Çok Teşekkür Ediyorum, İyi Çalışmalar...

 
Gönderildi : 16/12/2020 11:19

(@omercolakoglu)
Gönderiler: 69
Trusted Member
 

Rica ederim.

 
Gönderildi : 16/12/2020 11:49

Paylaş: