আমার কাছে একটি অনন্য কী সহ একটি টেবিল রয়েছে যাতে একটি NVARCHAR(50)
কলাম অন্তর্ভুক্ত রয়েছে (সঠিক বা না, তবে রয়েছে)। সুতরাং, সন্নিবেশ করার চেষ্টা করার সময় Șc
বা C
( সন্নিবেশের ক্রমের কোনও গুরুত্ব নেই) কোলেশন সমস্যার কারণে এটি ২ য় সন্নিবেশকে ভেঙে দেয়। ত্রুটি এখানে:
(1 টি সারি) প্রভাবিত এমএসজি 2601, স্তর 14, রাজ্য 1, লাইন 16 অনন্য সূচক 'IX_TestT' সহ 'dbo.testT' অবজেক্টে নকল কী সন্নিবেশ করা যায় না। সদৃশ কী মানটি হ'ল (সি)।
রিটার্ন নির্বাচন করুন:
ডাটাবেস ডিফল্ট কোলেশন হয় Latin1_General_CI_AS
। ইতিমধ্যে বিদ্যমান কাঠামোটি খুব বেশি পরিবর্তন না করে কীভাবে সমাধান করা যায় তা দেখার জন্য কিছু সময় ব্যয় করেছেন, কিন্তু কাজ করার কোনও উপায় খুঁজে পাচ্ছেন না। বিভিন্ন জোট এবং সংমিশ্রণ চেষ্টা করে, সবকিছু ব্যর্থ হয়। অক্ষর বিস্তৃতি সম্পর্কে আরও পড়ুন ( এখানে এবং এখানে ) এবং এখনও, আটকে আছে। এখানে একটি নমুনা কোড যা আমি সমস্যার প্রতিলিপি ব্যবহার করছি, নির্দ্বিধায় যেকোনো কিছু যা সমাধান করতে সহায়তা করতে পারে তা প্রস্তাব করুন।
CREATE TABLE testT (
[Default_Collation] [NVARCHAR] (50) COLLATE DATABASE_DEFAULT,
[Latin1_General_CI_AS] [NVARCHAR] (50) COLLATE Latin1_General_CI_AS,
[Latin1_General_CI_AI] [NVARCHAR] (50) COLLATE Latin1_General_CI_AI,
[SQL_Collation] [NVARCHAR] (50) COLLATE SQL_Latin1_General_CP1_CI_AS);
CREATE UNIQUE CLUSTERED INDEX [IX_TestT] ON [dbo].[testT] ([Default_Collation])
ON [PRIMARY]
GO
INSERT INTO testT
SELECT N'Șc', --COLLATE Latin1_General_CI_AS
N'Șc', --COLLATE Latin1_General_CI_AS
N'Șc', --COLLATE Latin1_General_CI_AS
N'Șc' --COLLATE Latin1_General_CI_AS
INSERT INTO testT
SELECT N'C' --COLLATE Latin1_General_CI_AS
,N'C' --COLLATE Latin1_General_CI_AS
,N'C' --COLLATE Latin1_General_CI_AS
,N'C' --COLLATE SQL_Latin1_General_CP1_CI_AS
SELECT * FROM testT;
DROP TABLE testT;