PracticU

יצירת מחרוזת התחברות
למסד הנתונים

בלי כתוביותעם כתוביות
PracticU › קורס דוט-נט - NET Core. - עם Rest API › יצירת מחרוזת התחברות למסד הנתונים
מילון מושגים:
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
REST - סגנון לבניית ממשקי API מעל HTTP, המבוסס על משאבים ועל שיטות סטנדרטיות כמו GET ו-POST.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
תעודה דיגיטלית - מסמך מוצפן שמאשר את זהותו של אתר או שרת וקושר אותו למפתח ציבורי, ומונפק על ידי רשות אישורים.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
ראוט - הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה. גם מסלול שדרכו עוברות חבילות ברשת.

יצירת מחרוזת התחברות למסד הנתונים
בהרצאה זו מגדירים את מחרוזת ההתחברות (Connection String) לדאטהבייס, וטוענים אותה פעם אחת לתוך מחלקת הגדרות ייעודית.
השלבים העיקריים
1. הגדרת Connection String ב-appsettings.json: מוסיפים לקובץ אובייקט בשם ConnectionStrings (ברבים, כי יכולים להיות כמה דאטהבייסים), ובתוכו מפתח בשם הדאטהבייס (למשל Bookstore) עם מחרוזת ההתחברות.
2. חלקי המחרוזת: נקודה (.) מציינת שהדאטהבייס נמצא על אותו מחשב שבו רץ ה-REST API, ו-\SQLExpress מציין את גרסת SQL Server Express. אחריהם מופיע שם הדאטהבייס עצמו (Bookstore), ו-Trusted Connection עם Trust Server Certificate מציינים חיבור דרך הרשאות מערכת ההפעלה, בלי שם משתמש וסיסמה נפרדים.
3. מחלקת AppConfig: בתיקיית Utils בונים מחלקה סטטית (AppConfig) עם שדה מסוג IConfigurationRoot (שמייצג את כל תוכן קובץ ההגדרות).
4. פונקציית Configure: פונקציה סטטית שרצה פעם אחת, בונה ConfigurationBuilder, מוסיפה אליו את קובץ ה-JSON (AddJsonFile) עם שם הקובץ המלא, ומבצעת Build (שימוש בדגם Builder Design Pattern).
5. Getter למחרוזת ההתחברות: property שמחזיר את AppSettings.GetConnectionString("Bookstore") - כך אפשר לגשת למחרוזת מכל מקום בקוד בלי לקרוא את הקובץ בכל פעם מחדש.
6. קריאה חד-פעמית: ב-Program, מיד לאחר בניית ה-builder, קוראים ל-AppConfig.Configure() כדי לטעון את ההגדרות פעם אחת בהפעלת התוכנה.
שימו לב
סימני קריאה (!) שמופיעים בקוד אומרים ל-C# שהמתכנת בטוח שהערך לא יהיה null, אף על פי שהמערכת לא יכולה להוכיח זאת מראש - כמו שנלמד בהקשר של route parameters בהרצאות קודמות.
בסיום ההרצאה יש מחלקת הגדרות שטוענת את מחרוזת ההתחברות לדאטהבייס פעם אחת, ומוכנה לשימוש בהמשך הפרויקט.
השיעור הבא בקורס: יצירת מודל של ספר דוט נט NET Core.

פרקי ההרצאה: יצירת מחרוזת התחברות למסד הנתונים

  1. 00:00

    הגדרת Connection String לדטאבייס

  2. 00:40

    בניית המחרוזת ב-appsettings.json

  3. 01:33

    חלקי מחרוזת ההתחברות

  4. 02:48

    טעינת ההגדרות פעם אחת

  5. 03:22

    מחלקת AppConfig הסטטית

  6. 04:54

    ConfigurationBuilder וקריאת ה-JSON

תמלול ההרצאה: יצירת מחרוזת התחברות למסד הנתונים

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת מחרוזת התחברות למסד הנתונים» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    הפרויקט שאנחנו בונים ניגש לדטאבייס, אז הדבר הראשון שנרצה לבצע זה להגדיר את ה-connection string של הדטאבייס, שוב אני מזכיר אם לא ראיתם עדיין את המודול על דטאבייסים ו-SQL וגישה לדטאבייס ופעולות על הדטאבייס, חשוב שתעצרו ותראו קודם כל את הקורס ההוא, כי אנחנו הרי לא הולכים ללמד הכל מחדש, מה שאנחנו נרצה לבצע

  2. 00:25

    זה לבנות את ה-connection string, שזאת המחוזת, שמאפשרת להתחבר לדטאבייס, ואנחנו בונים אותה ב-appsettings.json, שכבר קיים לנו פה כחלק מפרויקט rest API, בואו ניגש לכאן, ונבנה לנו איזה שהוא אובייקט חדש, והאובייקט הזה נקרא connection strings, ברבים, וזה בעצם אובייקט בקובץ ה-json, ובתוך ה-connection strings

  3. 00:53

    ברבים, אנחנו רוצים, איזה שהוא שם שקשור לדטאבייס שלנו, בגלל שהדטאבייס שלנו נקרא בוקסטור, אז אני אקרא לזה בוקסטור בצורה כזאת, והוא יכיל את ה-Connection String, מכרוז את ההתחבות לדטאבייס.

  4. 01:07

    אז יש לה מספר חלקים, קודם כל, איפה הדטאבייס נמצא? ברשת שאנחנו עובדים עליה. יכול להיות שהוא נמצא במחשב אחר, שיש למחשב הזה איזשהו שם, או טוב את ה-IP אדרס, אבל בגלל שהדטאבייס נמצא במחשב הנוכחי, איפה שהשרת בעצם רץ, איפה שהRST API רץ, אז אני כותב נקודה.

  5. 01:27

    זה אומר, חפש את הדטאבייס במחשב הזה, מה נוכחי, איפה שהמערכת כרגע רצה. אם הדטאבייס הוא מסוג SQL Express, וזה בעצם הסוג שיש לנו, זאת הגרסה החינמית, אנחנו צריכים להוסיף כאן, backslash, backslash, SQL Express.

  6. 01:47

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

  7. 02:00

    user id שווה, איזשהו שם משתמש, ו-password שווה איזושהי סיסמה. אנחנו כרגע לא נתעסק עם user name ו-password, אז נגיד לו תקשיב, בוא תיגש לדטאבייס דרך מערכת ההפעלה.

  8. 02:14

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

  9. 02:22

    Trusted Connection, והדבר הבא זה Trust Server Certificate, בצורה כזאת, ויש לנו כרגע את ההגדרה המלאה של ה-Connection String, אנחנו לא מתעסקים כרגע עם תעודה דיגיטלית, אנחנו אומרים לו זה בסדר, וה-Connection String מוכנה בקובץ הזה, Up Settings.

  10. 02:43

    אנחנו רוצים שהתוכנה שאנחנו בונים כרגע, פעם אחת ויחידה, כשהתוכנה עולה, תיגש לקובץ ה-up settings, תשלוף את ה-connection string ותחזיק אותה באיזשהו משתנה, כי אני לא רוצה בכל מקום שאני צריך את ה-connection string להתחיל לקרוא את הקובץ הזה אנחנו רוצים לעשות את זה פעם אחת ואז כמובן המערכת

  11. 03:03

    תשתמש במשתנה הזה שמחזיק את ה-connection string בשביל להתחבר לדטאבייס אנחנו רוצים לבנות באזור של ה-utils מחלקה, בואו נצרף class, תן נקראת up-config application configuration...

  12. 03:18

    בואו נפטר רגע מה-extra namespace, ונשים נקודה פסיק. המחלקה הזאת היא מחלקה שמוגדרת כ-static, וזה אומר שכל מה שנמצא בתוך המחלקה חייב להיות static, ואני לא צריך אובייקט בשביל לגשת למאפיינים הסטטיים.

  13. 03:33

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

  14. 03:53

    אז בואו נבין רגע מה זה. App Settings זה משתנה שיכול להכיל את מה שיש בקובץ, ה-App Settings. הסוג שלו זה Configuration Root. זה אומר שהוא מכיל את כלל הקובץ.

  15. 04:06

    Root זה אומר כלל הקובץ. למה הכנסנו בתוכו נל סימן קריאה? ראינו את זה כבר. C Sharp אומרת, אתה חייב להחזיק. בתוכו איזשהו ערך, אוקיי?

  16. 04:17

    אני יודע שאני כבר הולך להכניס בתוכו ערך, אז אני אומר שהוא נל, אבל הוא אומר לי, תקשיב, הוא לא יכול לקבל נל, אז אני שם לו סימן קריאה, והוא אומר לו, זה בסדר, אני כבר הולך להכניס בתוכו ערך אמיתי. אוקיי?

  17. 04:30

    אם הייתי רוצה שהוא היה מכיל נל, הייתי שם סימן שאלה, אבל אני בין כה הולך להכניס בתוכו ערך, אז שמתי סימן קריאה. הדבר הבא שאנחנו בונים, זה public static void config.

  18. 04:43

    זאת בעצם פונקציה, קונפיקציה שאנחנו רוצים לקרוא לה פעם אחת, שהיא בעצם ניגשת לקובץ הזה, שואבת ממנו את המידע, ושמה אותו בתוך. מה שאנחנו רוצים לעשות זה לפנות למשתנה, App Settings, ולהכניס את התכון New Configuration Builder.

  19. 05:00

    זה אובייקט שמאפשר לבנות דברים, אנחנו בעצם קוראים ל-add json file, ונותנים לו את השם המלא של ה-json הזה. בואו נסמן, Ctrl-C, Ctrl-V, לאחר מכן אנחנו אומרים לו, הגדרתי את כל מה שצריך, בילד.

  20. 05:18

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

  21. 05:27

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

לקורס המלא: קורס דוט נט NET Core. אונליין

ההרצאה הקודמת: יצירת פרויקט REST API מלא - עבור חנות ספרים

ההרצאה הבאה: יצירת מודל של ספר - דוט נט NET Core.

הרצאות קשורות מקורסים אחרים

  • מחרוזת ההתחברות למסד הנתונים - Connection String - Entity Framework
  • מחרוזת - Strings
  • יצירת אפליקציה עם חיבור למסד נתונים
  • שפת JavaScript - מחרוזת - String

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio