איך לאפשר התחברות מרחוק לשרת SQL

יום רביעי, דצמבר 21, 2016

נגיד שיש לכם מכונה (פיזית או וירטואלית) משלכם ואתם רוצים לאפשר התחברות מרחוק לבסיסי הנתונים.   השלבים הרלוונטים: הגדרת חומת האש הגדרת בסיס הנתונים הוספת משתמש התחברות מרחוק   שלב ראשון: יש לפתוח את ההגדרות בחומת האש (בהנחה שיש לכם רק את חומת האש הסטנדטרטית של מערכת ההפעלה), כדי לעשות זאת תצטרכו לעשות את השלבים הבאים: הריצו את הפקודה הבאה -  WF.msc תחת Windows Firewall with Advanced Security בצד שמאל תלחצו על Inbound Rules ואז על New Rule.   בחלון שייפתח יש לבחור ב – Port ולאחר מכן ללחוץ על Next   בשלב הזה יש לבחור...
תגובה אחת

הרצת sql משורת הפקודה

יום רביעי, מאי 6, 2015

היכרתי לאחרונה פקודה חדשה בשם sqlcmd, אפשר לעשות איתה המון דברים מגניבים, לדוגמה, הרצת שאילתות sql ללא צורך לכתוב תוכנה או לפתוח SSMS, (יכול להיות נהדר בשביל קבצי bat או אפילו Process.Start ב - #C. נוכל לכתוב משהו כזה (ב – Command line) sqlcmd -S localhost -d global -q "select count(*) from users" -S זהו שם השרת -d זה שם בסיס הנתונים -q זה השאילתה יש כמובן הרבה מאוד פרמטרים נוספים, אפשר להתחבר לשרת מרוחק, לדוגמה, בעת עדכון גרסת מוצר, לתת לאחראים קובץ bat שיריצו, במקום לבקש מהם להריץ קבצי sql.   מומלץ ללמוד על הכלי...
תגיות: ,
אין תגובות

Back Up and Restore database from code

יום שני, ספטמבר 9, 2013

בעבר הצגתי (צילומי מסך) של תהליך הגיבוי ושיחזור של בסיס נתונים, לעיתים יש צורך לעשות מקוד. לדודמא – בפרוייקט כלשהו התבקשתי לנתח קובץ אקסל ולהכניס את המידע לבסיס הנתונים, היות שהקובץ היה גדול מאוד, קראנו חלקים ממנו ושמרנו, כדי שנוכל לבצע rollback החלטנו שלפני כל תהליך כזה נבצע גיבוי של בסיס הנתונים כך נוכל לשחזר. (קוד המקור להורדה) להלן דוגמה לקוד הזה (בסיס הקוד לגיבוי ושיחזור נלקח מכאן) נכתוב קוד html פשוט מאוד עבור הדוגמא ...
תגיות: ,
אין תגובות

Send to mail, sql query result as csv file

יום שישי, אפריל 19, 2013

התקבשתי לפתח תוכנה קטה שתדע להריץ שאילתא בבסיס נתונים, לקבל את התוצאה ולשלוח אותה במייל כקובץ csv. מייד נכתוב אותה יחד. (ניתן להוריד קבצי מקור – כאן לא נראה את כל הקוד, רק את החלקים החשובים).   למעשה הפתרון שלנו יהיה מורכב משלושה פרוייקטים. SqlReportLib, יכיל את כל הקוד עצמו (הלוגיקה השליחה במייל, ההרצה ב – DB. SqlReportApp, אפליקצייה מסוג Console הגדירה את כל ההגדרות בקונפיג, ופשוט מריצה את הקוד. ...
3 תגובות

שימוש והפעלה בסיסית של שאילתות SQL רגילות ב–Entity Framework בעזרת Functions

יום ראשון, אוגוסט 26, 2012

בפוסט הקודם הראיתי כיצד להפעיל קוד sql ישירות בעזרת entity framework, בפוסט זה נכיר את מנגנון ה – functions המיוחד של EF. ראשית נשנה טיפה את בסיס הנתונים (נוסיף עוד עמודות לטבלה)   כעת נכתוב SP בבסיס הנתונים שתקבל את ה – Id כפרמטר, ותחזיר את השם ואת שם המשפחה של כל מי שה – Id שלו גדול מהערך שהתקבל. (הסיבה שהוספתי עוד עמודה, מכיוון שאני רוצה להדגים בפוסט הזה את העבודה עם Complex Type) לאחר שה – SP קיים...
תגובה אחת

שימוש הפעלה בסיסית של שאילתות SQL רגילות ב–Entity Framework

יום שישי, אוגוסט 24, 2012

לפעמים גם כשאנחנו עובדים עם Entity Framework עדיין נרצה להפעיל שאילתות SQL או stored procedure כלשהו. בפוסט זה נראה כיצד לשלוח שאילתות בסיסיות לבסיס הנתונים בעזרת Native Sql, בפוסט הבא נראה כיצד אפשר לעשות זאת בעזרת מנגנון מיוחד הנקרא Functions. להורדת דוגמת הקוד ובסיס הנתונים. כך נראה בסיס הנתונים שלי:   נייצר עבורו מודל של Entity Framework ונרצה להפעיל שאילתות עליו (או הפעלה של SP). ישנם שני פונקציות עיקריות, אחת ExecuteStoreCommand, מתודה זו מאוד...
אין תגובות

invalid column name sql server

יום רביעי, יולי 4, 2012

אתמול יצא לי לעשות עבודה (שאמורה הייתה להיות) קטנה, מדובר היה על להוסיף עמודה לטבלה מסוימת, ולעדכן את הערכים עבור כל השורות. לאחר שהוספתי את העמודה ניסיתי להריץ שאילתת update על הטבלה, וקבלתי בחלון ה – message, את ההודעה הבאה: 1 row affected 1 row affected 1 row affected Invalid Column Name במשך שעות ניסיתי להבין מה המשמעות ששם העמודה לא קיים – הרי היא קיימת, לאחר שעות של שיטוט בגוגל וניסיונות נואשים לסדר את הבעיה החלטתי...
תגיות: ,
2 תגובות

טקסט בעברית הופך לסימני שאלה בשאילתות מול בסיס הנתונים

יום שלישי, יולי 3, 2012

כידוע לכולם כדי שנוכל להכניס בבסיס הנתונים תווים לא באנגלית (עברית למשל) השדות צריכות להיות מוגדרות כ – nvarchar, ולא כ – varchar. ולכן מה רבה הייתה הפתעתי שכששלחתי שאילתא לבסיס הנתונים (הפעלה של stored procedure באמצעות Entity Framework) כשבמשפט Where נשלחו תוים בעברית – לא קבלתי שום תוצאה, לאחר שפתחתי את ה – Sql Profiler גיליתי שהתווים נשלחו כסימני שאלה (אע"פ שבבסיס הנתונים עצמו התווים היו בעברית). לחיצה ימנית על בסיס הנתונים ובחירה במאפיינים הראתה לי משהו מעניין.   ...
3 תגובות

Cannot truncate table 'TableName' because it is being referenced by a FOREIGN KEY constraint.

יום שלישי, מרץ 6, 2012

  כשרוצים למחוק מידע מטבלאות, לעיתים רוצים ממש לנקות את הטבלה, ובמידה ויש עמודת מספר רץ (נניח Id שמוגדר כ - Identity) נרצה לא רק למחוק את השורות, אלא גם לאפס את המספר הרץ כך שהמספור יתחיל מההתחלה.   הצורה הפשוטה היא להשתמש ב - truncate במקום delete, כך:   truncate table Color   הבעייה תהיה, במידה ויש קשר בין טבלה זו לטבלאות אחרות נקבל את הודעת השגיאה הבאה: Cannot truncate table 'Color' because it is being referenced by a FOREIGN KEY constraint.     כדי לאפס בכל זאת את המספר הרץ, נכתוב את הקוד הבא   delete from Color DBCC CHECKIDENT (Color, RESEED, 0)   כעת המידע ימחק, והשורה הבאה שתיכנס תהיה עם...
תגיות: ,
תגובה אחת

Exception Message Box

יום שלישי, נובמבר 29, 2011

  מי לא כתב את הקוד הבא:   try {   } catch (Exception ex) {     MessageBox.Show(ex.Message); } ובכלל הצגת הודעות באפליקציות חלונאיות תתבצע הרבה פעמים בעזרת MessageBox.     מתברר (משהו יחסית ישן) שהחברה של sql server פתחו MessageBox משלהם - בטח ראיתם מתי שהוא את החלון הבא: (אם עבדתם עם Sql Server Managment Studio)       לחלון הזה יש כמה פיצ'רים מאוד נחמדים, ראשית הוא נראה הרבה יותר טוב מה - MessageBox הסטנדרטי, בנוסף יש בתחתית החלון אפשרות להעתקת הודעת השגיאה ולחצן נוסף להצגת הפרטים הנוספים:       כדי שתוכלו להשתמש בזה באפליקציות שלכם תצטרכו להוסיף reference ל: Microsoft.NetEnterpriseServers.ExceptionMessageBox (חפשו אותו תחת תיקיית ההתקנה של sql (אצלי הוא יושב ב - C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.4)   בגרסאות קודמות של...
תגיות: , , ,
6 תגובות