Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MSSQL Insert Türkçe Karakter Sorunu
#11
(02-09-2018, Saat: 00:42)mrmarman Adlı Kullanıcıdan Alıntı: N ile olanı çalışması lazım. Ben öyle kullanıyorum.

Bir TEMP table üzerinde senin için ADO ile denedim. (bende Firedac ile MSSQL driver hali hazırda yoktu ondan)

begin
 AdoConnection1.ConnectionString := Format( xMSSQL, [xSanalXP_Server, xSanalXP_Catalog, xUserID, xPassword ]);
 AdoConnection1.LoginPrompt    := False;
 AdoQuery1.Connection := AdoConnection1;
 AdoQuery1.SQL.Text   := 'INSERT INTO [ProduksiyonDB].[dbo].[SES8Temp_991D912F_K2]'
                    + ' ( [SH_DurumNot] ) VALUES ( N''ŞŞŞŞŞŞŞŞŞŞİİİİİİİİİİİİİİ'' ) ';
 AdoQuery1.ExecSQL;
end;



Hatta bozmak için şöyle yaptım.
Aşağıdaki şekilde Ş yerine S, İ yerine de I basıyor.

  AdoQuery1.SQL.Text   := 'INSERT INTO [ProduksiyonDB].[dbo].[SES8Temp_991D912F_K2]'
                    + ' ( [SH_DurumNot] ) VALUES ( ''ŞŞŞŞŞŞŞŞŞŞİİİİİİİİİİİİİİ'' COLLATE  SQL_Latin1_General_CP1_CI_AS  ) ';

Sonra bu bozuk halindeyken VALUE başına N ekledim
  AdoQuery1.SQL.Text   := 'INSERT INTO [ProduksiyonDB].[dbo].[SES8Temp_991D912F_K2]'
                    + ' ( [SH_DurumNot] ) VALUES ( N''ŞŞŞŞŞŞŞŞŞŞİİİİİİİİİİİİİİ'' COLLATE  SQL_Latin1_General_CP1_CI_AS  ) ';

Bu şekilde sorun yeniden düzeldi...  Idea


Paylaşım için teşekkürler.

Fakat yine olmadı. Ben bir hata yapıyor olabilirmiyim.
SQL Server Studio programını açıp yazıyorum fakat türkçe yine olmuyor. Sad

ODlX73.png
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#12
Hocam Unidac'ın ayarlarında Direct mod var onu true false deneyin olmazsa birde connection stringe bir belirteç ekliyorduk hafta sonu olduğu için bakamıyorum.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#13
(02-09-2018, Saat: 15:45)narkotik Adlı Kullanıcıdan Alıntı: Hocam Unidac'ın ayarlarında Direct mod var onu true false deneyin olmazsa birde connection stringe bir belirteç ekliyorduk hafta sonu olduğu için bakamıyorum.

Merhabalar,


Bahsettiğiniz ayarı bulamadım.
Şöyle bir ayar var. Onuda denedim yine yapmadı.

1EoAaB.png
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#14
Veritbanında (ve tablolarınızda) Collation ayarlarını doğru düzgün yaparsanız UNIDAC'ta collation ile uğraşmak zorunda kalmazsınız. Boş ve temiz bir Delphi projesiyle testlerinizi gerçekleştirdiğinizde durumun siz de farkına varacaksınız.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#15
(02-09-2018, Saat: 15:58)uparlayan Adlı Kullanıcıdan Alıntı: Veritbanında (ve tablolarınızda) Collation ayarlarını doğru düzgün yaparsanız UNIDAC'ta collation ile uğraşmak zorunda kalmazsınız. Boş ve temiz bir Delphi projesiyle testlerinizi gerçekleştirdiğinizde durumun siz de farkına varacaksınız.

Merhabalar,

İşlem yaptığım DB hali hazırda yazılmış farklı bir ticari programa ait.
Bu nedenle zaten sorun yaşıyorum.

Teşekkürker.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#16
Alan tipleriniz unicode olması gerektiği için nchar - nvarchar - (eski sürümler için) ntext v.s. tipinde olmalıdır ama bu yaşadığınız durum Connection nesnesinin AutoTranslate özelliği ile alakalı olabilir. Bu değeri tersine çevirerek (mesela True ise False yaparak) deneyin bir de.
Cevapla
#17
sql veri tipini latin5 yapmalısın aynı zmanda kullandığın companent neyse onunda veri tipini latin5 yaparsan sorun çözüecektir
Cevapla
#18
(02-09-2018, Saat: 16:52)sabanakman Adlı Kullanıcıdan Alıntı: Alan tipleriniz unicode olması gerektiği için nchar - nvarchar - (eski sürümler için) ntext v.s. tipinde olmalıdır ama bu yaşadığınız durum Connection nesnesinin AutoTranslate özelliği ile alakalı olabilir. Bu değeri tersine çevirerek (mesela True ise False yaparak) deneyin bir de.

Merhabalar,

Bilgi için teşekkürler.

Bilgileri çekerken türkçe karakter gelmiyordu.
Autotranslate=False yaparak türkçe karakterleri çekiyorum zaten.
Bu konuda bir sıkıntım yok.

Fakat SQL INSERT (Query) yaparken ŞŞŞŞŞŞİİİİİİİ karakterleri SSSSSSIIIIII olarak geçiyor.

K65Add.png
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  String içinde karakter arama barissagir 3 305 07-02-2024, Saat: 17:57
Son Yorum: RAD Coder
  MSSQL Data downgrade (Alt sürüme veri aktarma) işlemleri adelphiforumz 0 485 23-03-2023, Saat: 11:13
Son Yorum: adelphiforumz
  MSSQL eş zamanlı yazma ve okuma kontrolü (Çözüldü) adelphiforumz 5 1.922 31-12-2021, Saat: 13:04
Son Yorum: adelphiforumz
  MSSQL TableType tipinde parametre nasıl geçilir? adelphiforumz 28 7.310 29-12-2021, Saat: 11:37
Son Yorum: mrmarman
  Toplu insert işlemi hız sorunu (Çözüldü) adelphiforumz 9 3.126 13-12-2021, Saat: 20:23
Son Yorum: apachi2006



Konuyu Okuyanlar: 1 Ziyaretçi