פתרון בעיית Collation שונים בין 2 שדות

בהמשך לפוסט הקודם,
לפעמים אין אפשרות לכתוב Collate בשאילתא, כי השאילתא נשלחת ב-ODBC ואנחנו לא שולטים על ה-Syntax שלה.
זה בדיוק המקרה שקרה לי:
הדאטאבייס במקור עלה מ-Access אל ה-Sql server
כאשר עמודות הטקסט היו במקור ב -collation שנקרא SQL_Latin1_General_CP1_CI_AS

ואחר כך האדמין של השרת שינה לי את ה-collation של ה-Database ל – Hebrew_CI_AS

ואז – כאשר הוספתי עמודה – העמודה החדשה הוגדרה למעשה ב -collation שנקרא Hebrew_CI_AS

ובגלל זה השאילתא נתנה לי הודעת השגיאה.

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Hebrew_CI_AS" in the equal to operation.

אז כדי לפתור את זה מחקתי את העמודה והגדרתי אותה מחדש, עם הגדרת collation נכון.
ההגדרה של ה-Collation היא פרמטר שהוא לא חובה כאשר מוסיפים עמודה

alter table dbo.tblArm3OLD 
add WorkerIDnumber nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *