
sp_configure עם הערך 1, ואחר כך RECONFIGURE, כדי שההגדרה תיכנס לתוקף בלי הפעלה מחדש.sp_configure ורואים שהערך של CLR enabled השתנה ל-1.CREATE PROCEDURE רגיל, ובמקום גוף מופיעה המילה EXTERNAL NAME, שמפנה לאסמבלי, למחלקה ולמתודה. בדוגמה: האסמבלי MyCLR, המחלקה Class1, והמתודה Print בסוגריים מרובעים, כי Print היא מילה שמורה.EXEC sp_configure 'clr enabled', 1; RECONFIGURE; להפעלת CLR, CREATE PROCEDURE ... AS EXTERNAL NAME ליצירת הפרוצדורה, ו-DROP PROCEDURE ואחריה DROP ASSEMBLY למחיקה.הטקסט המלא של הדקות הראשונות בהרצאה «CLR - חיבור לסביבת SQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אם כן, לאחר יצירת קובץ ה-DLL כאן מתוך סביבת ה-Visual Studio, אני מזכיר שיצרנו אותו על בסיס גרסה של .NET Framework 3.5. לאחר מכן ביצענו בילד ויצרנו קובץ של MyCLR.DLL.
כל שנותר לנו כרגע לעשות זה לגשת ל-SQL Server Management Studio, וכאן בתוך הדאטאבס שלי למפות, להוסיף מיפוי לתוך הקובץ dll שאותו יצרתי. לפני שאנחנו עושים זאת, בואו נסתכל, יש לנו כאן פתור פרוציג'יה שנקרא SP-Config.
אם אנחנו מריצים אותו, אני רואה שהוא בעצם נותן לי שלל של אפשרויות קונפיגורציה בתוך ה-Database, והאפשרות שכרגע מעניינת אותנו זה ה-CLR-Enabled. בי דיפולט, עם ההתקנה של דאטאבס של SQL Server אנחנו מקבלים את ה-SQL, ה-CLR Enabled כ-Configuration Verbal Value שווה לאפס, כלומר כרגע לא ניתן לעבוד מול קבצי CLR.
כדי לשנות זאת אז אני צריך לתת ל-SP Config שני פרמטרים, קודם כל מהו המשתנה שאותו אני רוצה לשנות, שאת זה אני תוחם בתוך גרשיים, ולאחר מכן מהו הערך שאותו אני רוצה להכניס, ואני רוצה שבתוך CLR Enabled יהיה שווה לאחד, תחת 0, מה שקיים כרגע.
F5, אני מריץ, אני מקבל הודעה שזה בוצע תקין, אבל שימו לב להודעה, run the reconfigure statement to install. כרגע הוא רק הדליק את הביט, את הבית, שווה ל-1 בתוך ה-CLR enabled, על מנת שזה יהיה בתוקף כבר בריצה הנוכחית של ה-SQL Server Management Studio,
אני צריך לעשות reconfigure, כלומר תקלוט מהקובץ קונפיגורציה את כל ההגדרות מחדש, אני עושה F5 ומקבל אינדיקציה של Completed Successfully.
אם כרגע אני אשוב ויריץ את ה-SP Configure על מנת לקבל את כל הגדרות הקונפיגורציה, אנחנו נראה שה-CLR Enabled בעמודה של Config Value כרגע השתנתה ל-1. כרגע אני יכול לבצע קריאה לתוך קבצי אסמבלי שנמצאים תחת ה-CLR.
איך אנחנו ממפים את אותו DLL שיצרנו? אז בואו ניכנס לתוך הדאטאבייס, נגלול טיפה למטה. יש לנו כאן סקשן שנקרא פרוגרמביליטי, ובתוך פרוגרמביליטי אנחנו יכולים לפתוח שוב ולהיכנס לתוך אסמבליז.
אסמבליז, אני יכול לפתוח אותו ולראות שיש לי כרגע שני אסמבליז מחוברים לתוך הדאטאבייס. אני רוצה להוסיף את האסמבלי הנוסף שאני כתבתי, אז קליק ימני New Assembly, פותח לי חלון שאומר לי תן לי את הנתיב המדויק לתוך הקובץ dll נחזור חצי דקה לתוך הוויז'ואל
סטודיו כשאני עומד על השם של הקלאס כבר כטול טיפ נפתח לי הנתיב המלא אבל אני גם יכול ללחוץ על קליק ימני copy full path להעתיק את הנתיב המלא אמנם כאן זה הנתיב המלא של הקלאס נקודה cs כלומר של הקובץ source code ואנחנו רוצים את ה-DLL אבל מספיק שנדביק אותו ונוכל לחזור שתי רמות אחורה.
אנחנו נוכל למצוא את הקובץ DLL עצמו. אני לוחץ כרגע על הכפתור browse על מנת להיכנס לספרייה. בתוך הספרייה שלי מהי סולושן של הסולושן שלי מהי CLR אני יכול להיכנס פנימה בתוך זה יש לי את ספריית בין דיבאג ובתוך דיבאג אחר כבוד עוד אנחנו יכולים למצוא את ה-dll שאותו יצרנו,
mycllr.dll, אני לוחץ עליו, לוחץ על open וכרגע נותר לי רק ללחוץ על אוקיי על מנת לחבר אותו לדאטאביס שלי. נפתח שוב את ה-sql סרבר, כן, אז אנחנו רואים שבתוך האסמבליס שלי נוסף לי כרגע קובץ אסמבלי נוסף, זה אומר שישנה תאימות בין הפרמוורק שעליו עבדתי ב-dotnet, ב-c-sharp,
ובין סביבת הפרמבורג שעליה אני עובד כאן מתוך ה-SQL Server Management Studio. MyCLR כרגע מחובר. איך אני משתמש בו? בואו נפתח New Query.
כאן אנחנו ניצור Store Procedure חדש, שהוא בעצם יפעיל את הקוד שנמצא לי בתוך ה-MyCLR. כדי ליצור Store Procedure אנחנו כבר מכירים את הפקודה ככל אובייקט DDL.