ورود

View Full Version : مشکل در Case Sensitive



benighted.boy
یک شنبه 30 دی 1386, 23:16 عصر
با سلام خدمت تمام دوستان و استید محترم .
من توی بخش زیاد جستجو کردم اما نتونستم جوابم رو پیدا کنم.
تا حالا تمام DB هایی که ایجاد کردم در هیچ کودومشون با بزرگ یا کوچک بودن حروف مشکلی نداشتم. اما در آخرین DB که ایجاد کردم در تمام SELECT هام به این مشکل بر خوردم .تمام حالات SELECT رو هم امتحان کردم اما جز پارامترهایی که عینا در fild ها هستن چیزه دیگه ای رو بر نمیگردونه .(در مورد فارسی حتی شامل Space هم میشه)تمام حالات Collation رو هم امتحان کردم اما باز هم جواب نداد .
لازم به ذکر است که DB هایی که در گذشته ایجاد شدن شامل این مسئله نمی شوند .
این مسئله شامل Instance های جدید هم میشود.و SQL Server من 2005 است
با تشکر.

AminSobati
دوشنبه 01 بهمن 1386, 10:54 صبح
اگر Instance شما بصورت Case Sensitive نصب شده، پس دیتابیس رو Insensitive بسازین

benighted.boy
دوشنبه 01 بهمن 1386, 11:19 صبح
ممنون .میشه یه مقدار بیشتر توضیح بدین و اینکه چه طور میشه دیتا بیس ساخته شده رو Insensitive کرد ؟

mehdia86
دوشنبه 01 بهمن 1386, 12:38 عصر
با سلام
تو این روش یک دیتابیس مشکلش حل می شه ولی اگر دیتابیس جدیدی ایجاد گنی برا اونم باید این کار رو کنی البته من به جا شما باشم وقت می ذارم sql رو از دوباره نصب می کنم.

If you are using SQL 2000, you can change the default database collation
with ALTER DATABASE:

ALTER DATABASE MyDatabase
COLLATE SQL_Latin1_General_CP1_CI_AS

Note that a column collation is determined when the column is created so
changing the database setting will not affect existing tables. You'll
need to alter existing columns to the desired collation or recreate the
tables. The collation used for identifiers (table names, column names,
etc.) will take affect immediately.

موفق باشید

benighted.boy
دوشنبه 01 بهمن 1386, 21:13 عصر
با سلام.
ممنون اما باز هم مشکلم حل نشد .من چندین Collation رو تست کردم اما جواب نداد .از طرفی نصب دوباره SQL Server مستلزم وقت کافیست که من در این روزها ندارم.از طرفی فکر نمی کنم راه منطقی باشه که ُSQL رو عوض کنم .
از طرفی فرصت نکردم DB رو در سیستم دیگه تست کنم ببینم این مشکل رو داره یا نه ؟!!
یعنی هیچ راهی واسه این مشکل نیست ؟

AminSobati
سه شنبه 02 بهمن 1386, 14:53 عصر
زمانی که شما در حالت CS اطلاعات رو وارد کردین، با alter database اونها تغییر نمیکنند بلکه باید خود فیلد alter بشه:



alter table customers
alter column companyname nvarchar(100) collate arabic_ci_ai

benighted.boy
شنبه 06 بهمن 1386, 19:24 عصر
با سلام و تشکر .شکل حل شد اما چرا وقتی به صورت دستی Callotionvرو تغییر میدیم این عمل اعمال انجام نمیشه ؟