שמירת נתונים בעברית ב- SQL SERVER 2008

danymaor

New member
שמירת נתונים בעברית ב- SQL SERVER 2008

יש לי אתר שמשתמש בבסיס נתונים SQL SERVER 2008 ואני רוצה לשמור עליו נתונים בעברית והוא שומר לי הכל כסימני שאלה.

האתר שלי יושב בחברה ישראלית שנתנה לי ממשק ניהול לפתיחת בסיס הנתונים (לא ניתן לפתוח עם SQL Server Management) ובסיס הנתונים שנפתח עם ממשק הניהול נפתח באופן אוטומטי עם קידוד sql_latin1_general_cp1_ci_as ואני לא יכול לשנות את זה עם שאילתה או שאני נכנס למאפייני בסיס הנתונים (הם חסמו את זה)
כשאני פותח טבלה חדשה אני יוצר שדות ולכל השדות שאמורות לעבוד עם עברית אני משנה את הקידוד לעברית אבל בכל זאת זה שומר לי את הנתונים כסימני שאלה.

חברת האחסון אמרה לי שכך המערכת עובדת וכל בסיסי הנתונים נפתחים בצורה כזאת ומלא אנשים עובדים עם עברית.

השאלה שלי היא איך אני יכול לשמור תווים בעברית בצורה כזאת?

אני שולח נתונים לשרת עם #C והנתונים נשלחים בעברית בצורה תקינה כי כשאני מגדיר בסיס נתונים אחר (אחד שיושב בבית שלי ומוגדר עם עברית) זה עובד מצויין ושומר הכל בעברית.
 

i t a i b

New member
עברית

היי,

בגלל שאין לך גישה ב- SSMS, ובגלל שמספר אופציות חסומות בפניך - אני מציע לך "לפתוח קריאה" מול הספק , אני מניח שעוד לקוחות נתקלו בבעיה.
כמו-כן, אם "מלא אנשים עובדים עם עברית" - אז שיפנו אותך לאחד כזה..

בהצלחה !!
 

danymaor

New member
תודה רבה!!

פניתי אליהם והם אמרו שככה זה אצל כולם ואף פעם זה לא עשה בעיות.
אז עברתי חברת איחסון והכל עובד עכשיו מצויין וכמובן שהם גם יותר נחמדים (שזה חשוב לא פחות)
זה גם סוג של פתרון
 

pitoach

New member
בוקר טוב, כמה נקודות

1. לעבור ממי שנותן שירות גרוע (אני מדבר על שירות ולא על מקצועיות כרגע) למישהו שנותן שירות טוב יותר , זה דבר שמומלץ כמעט תמיד.

2. אין שום הגיון לעבוד עם חברה שמספקת לך שימוש במסד נתונים שהוא לא בשליטה שלך... רגע זה נכון?!? אם זו הגישה שלך, אז אתה פוסל את כל הנושא של מסדי נתונים בענן! בניגוד למכונה וירטואלית הרי שחלק ניכר מהענן של מייקרוסופט וההשקעה שלהם מכוונת למקבלי שירות כמו אירוח מסד נתונים ולא רק לשימוש במכונות וירטואליות למשל. כאשר אתה עובד בצורה כזו במפורש אין לך גישה לניהול ברמה שמעל לבסיס הנתונים, כי אם רק למה שקורה בבסיס הנתונים עצמו. ניהול בסיס הנתונים עצמו הוא פעולה שמעל בסיס הנתונים! צריך לחשוב על זה רגע, לפני שפוסלים שירות אחד וממליץ ומתלהב מאותה גישה אצל מישהו אחר (למשל לדבר על שמוש ב sql azure).

אם לא הבנת אז המשפט הראשון היה בלקוניות ולא ברצינות! המסקנה שהתקבלה כאן גובלת בשטות כי שום חברה כמעט שנותנת שירות למסד נתונים לא נותנת לך לשלוט על מסד הנתונים, אלא רק על מה שקורה בתוכו! רק כדוגמה: גם בענן של מייקרוסופט אתה כמובן לא יכול לשנות את ה collations של מסד הנתונים שנבנה עבורך!
http://blogs.msdn.com/b/sqlazure/archive/2010/06/11/10023650.aspx
האם זה אומר שאף אחד לא יכול לעבוד עם עברית בענן?!?

* החברה שנתנה לך את השירות צודקת לחלוטין, והבעיה אצלך ולא אצלם. זה לא אומר שהם לא יכולים לעזור אבל למה להם לבצע פעולה שלוקחת זמן בחינם?!? אם אתה רוצה אז אתה יכול לחפש חברה שנותנת לך מסד נתונים עם collation אחר שמתאים לך (או שמוכנים לשנות את ההגדרות של מסד הנתונים... ומי יסכים לתת שירות אירוח בדולר ולעבוד 10 דקות בשבילך?!? כאן מגיע נושא המחיר אולי) או שאופציה טובה יותר זה שבוחרים ללמוד
אפשרות נוספת זה לקנות שירות יותר גבוה לא רק של שימוש במסד נתונים אלא אירוח מסד נתונים שלך או אירוח מכונה וירטואלית שלך.

3. הרבה חברות ישראליות הן "סתם" ילדי שיווק שנותנים לך מעשית שירות בחברות בחו"ל. בדרך כלל השירות של אירוח בארץ יקר בהרבה מהשירוות שניתן בחו"ל (כמו הרבה דברים בארץ) והרבה ילדי שיווק מנצלים את זה כדי למכור לך משהו שהוא לא שלהם (למעשה לשווק לך ולקחת את הנתח שלהם). בדרך כלל חברות ישראליות מפעילות שרתים עם עברית כברירת המחדל! זה קהל היעד שלהם ואין לדעתי הרבה סיכוי שהם מארחות חברות בחו"ל כאשר שם ניתן לקבל אותו שירות ב10% מחיר. תמיד יכולים להיות יוצאים מהכלל כמובן אבל חברה ישראלית שמספקת שירות על שרת בישראל שאין בו עברית כברירת מחדל מחשיד מאוד לדעתי! אני לא פוסל את זה כמובן אחרי הכל גם אני מחזיק שרתים שמוגדרים באנגלית אבל אם כל הלקוחות שלי היו דוברי עברית כניראה שהייתי מחליף את בררית המחדל.

4. ניהול CULTURE בשרתי SQL יכול להעשות בכמה רמות,ובריחה מבעיה בגלל חוסר ידע, היא הפתרון הכי גרוע!

לדוגמה: הרמה העליונה היא הרמת מערכת ההפעלה וברירת המחדל, הרמה הבאה היא ברמת ה INSTANCE של השרת, 2 רמות אלו הן הרבה מעל הרמה שמישהו ייתן לך גישה אליהם אם אתה רק מקבל שירות של מסד נתונים, מכיוון שהם משותפים לכל מסדי הנתונים. הרמה הבאה היא הרמה של מסד הנתונים וחברות שמקימות עבורך את מסד הנתונים בדרך כלל לא אמורות להתאים אותו אלייך אם זה ההסכם שלכם (וזה יכול להפוך את השירות ליקר פי 10 ויותר), אבל גם אם מסד הנתונים לא בשליטה שלך אז עדיין אתה יכול לעבוד בקלות ולקבוע את ה CULTURE ברמת הטור של הטבלה. זה מה שאתה היית אמור לבצע! ככל הניראה, יותר מכך אפשר לקבוע גם ברמת השאילתה עצמה או ה SESSION או ברמת ה USER שמתחבר לשרת ועוד...

אם אתה רוצה מידע נוסף ללימוד הנושא, אני אשמח לפרט
אני מקווה שזה קצת תרם בינתיים

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