top of page

הסבר על נושא השימוש ב Environmen​t כדי לשנות ערכים של פרמטרים ב Package מסוים

  • class928417
  • Oct 30, 2014
  • 2 min read

**** מייל מרן ****

היי,

להלן הסבר על נושא השימוש ב Environment כדי לשנות ערכים של פרמטרים ב Package מסוים.

לפני ההסבר הטכני, נזכיר למה צריך את זה בכלל:

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

דוגמאות טובות:

  • נתיבי תיקיות (Path)

  • שמות קבצים

  • שמות שרתים

  • שמות DB

2. לכן, כאשר נרצה שפתרון (Solution) מסוים ירוץ בסביבה אחרת מאשר רץ עד היום (למשל, במעבר מפיתוח לייצור) - וכתוצאה מכך שהערכים שמאכלסים את הפרמטרים הרלוונטיים ישתנו - נוכל להשתמש בEnvironment כדי להשפיע על הערכים שיוזנו לתוך הפרמטרים.

מה עושים:

2.1 קודם כל נכין solution לדוגמה(ב SSIS):

- ניצור Package עם פרמטר. נקרא לו כאן Param_Path והוא מסוג VARCHAR.

- נעשה Deploy לפרויקט, כדי שהPackageים יועברו לשרת ה SSIS, לקטלוג (Integration Services Catalog).

2.2 כעת, ב Management Studio, נבצע את הצעדים כדי לבצע עבודה נכונה במעבר בין סביבת הפיתוח אל סביבת הייצור:

- ניצור שני Environment: נקרא לאחד DEVELOP ולשני PRODUCTION

- במאפייני ה Environment ששמו DEVELOP, בטאב "Variables" ניצור משתנה חדש ששמו Env_Var_Path - מסוג STRING. נזין לו ערך שמתאים לסביבת הפיתוח. נניח "C:\dev"

- במאפייני ה Environment ששמו PRODUCTION, בטאב "Variables" ניצור משתנה חדש באותו שם - Env_Var_Path - מאותו data type .

נזין לו ערך שמתאים לסביבת הפיתוח. נניח "C:\prod"

2.3 כעת נגדיר ל Package שהוא צריך להשתמש ב משתנה הסביבה Env_Var_Path כדי לאכלס את הפרמטר Param_Path שבתוכו:

ב Management Studio - בקטלוג - קליק ימני על ה Package - לחיצה על Configure -

ב References - נגדיר את 2 הסביבות - גם DEVELOP וגם PRODUCTION (באמצעות add)

ב Parameters (בטאב Parameters ) נראה את Param_Path. נלחץ על 3 הנקודות שבתיבת ה Value. יחד עם האפשרות להזנת ערך מסוים קבוע, או שימוש בערך ברירת המחדל שניתן ב Solution בזמן הפיתוח שלו, נוכל גם להשתמש בערך של משתנה מתוך המשתנים שב Environments (בתנאי שבוצע הסעיף של References וגם ה data type מתאים).

כעת ה Package "יודע" עם איזה משתנה עליו לרוץ. אבל הוא לא יודע באיזו סביבה עליו לרוץ, ולכן גם איזה ערך יוזן לפרמטר ("C:\dev" מתוך DEVELOP או "C:\prod" מ PRODUCTION).

2.4 את זה אנחנו נקבע בזמן יצירת הג'וב מתוך ה SQL Server Agent:

בשלב הגדרת ה STEP שיריץ את ה Package שלנו,ב Cunfiguration תהיה רשימת הפרמטרים הנדרשים להרצת ה Package.

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

אם לדוגמה בחרנו DEVELOP - הערך שיוזן לפרמטר Param_Path יהיה "C:\dev". ככה, בכל פעם שירוץ הג'וב הזה- הוא יריץ את ה package שלנו ויאכלס את הפרמטר Param_Path עם הערך שנמצא במשתנהEnv_Var_Path שבסביבה DEVELOP.

נניח שהגיע היום בו נרצה לעבור לייצור. כעת כל שיש לנו לעשות הוא בג'וב שיצרנו, להעביר בCunfiguration את הסביבה ל PRODUCTION.

מחר נראה גם בכיתה...

תודה, רן.


 
 
 

Comments


bottom of page