הפעלה של תהליך מאוחסן

בדוגמה הזו מוצג איך להריץ פרוצדורה מאוחסנת כשמשתמשים בחיבור למסד נתונים. בדוגמה הזו אנחנו יוצאים מנקודת הנחה שאתם מכירים את המושגים הבאים:

כל ההליכים המאוחסנים בחיבור למסד נתונים מוצגים לכם כפעולות במשימת המחבר. פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולות מאפשרות לבצע שינויים בישות אחת או בכמה ישויות, והן משתנות מחיבור לחיבור. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה Actions תהיה ריקה.

המחברים הבאים תומכים בתהליכים מאוחסנים:

דוגמה

נניח שיש לכם מסד נתונים של MySQL עם הפרוצדורה המאוחסנת הבאה שמקבלת את פרטי הלקוח מהטבלה customers:

CREATE PROCEDURE get_customer_info
(IN p_customer_id INT, OUT p_name VARCHAR(50), OUT p_email VARCHAR(255))
BEGIN
    SELECT name, email INTO p_name, p_email
    FROM customers
    WHERE id = p_customer_id;
END

הפרוצדורה המאוחסנת הזו מחזירה את השם וכתובת האימייל של הלקוח שצוין. הפונקציה מקבלת את מספר הלקוח דרך משתנה הקלט p_customer_id ומחזירה את השם ואת כתובת האימייל במשתני הפלט p_name ו-p_email, בהתאמה.

נניח שאתם רוצים לקבל את השם ומזהה האימייל של הלקוח עם customer_id=1001. כדי לעשות את זה, אתם צריכים לבצע את המשימות הבאות:

  1. יוצרים חיבור למסד הנתונים של MySQL.
  2. פותחים שילוב קיים או יוצרים שילוב חדש.
  3. מוסיפים את משימת המחברים לשילוב.
  4. בקטע הגדרה, לוחצים על הגדרת משימה כדי לפתוח את החלונית הגדרת משימת מחבר.
  5. מגדירים את המשימה Connectors (מחברים) כך שתשתמש בחיבור שיצרתם בשלב 1.
    1. בעמודה Connection, בוחרים את החיבור הנדרש מתוך רשימת החיבורים הזמינים.

      אחרי שבוחרים חיבור, העמודה Type מופיעה עם הערכים Entities ו-Actions. כל הפרוצדורות המאוחסנות יופיעו ברשימה בפעולות.

    2. בוחרים באפשרות פעולות > get_customer_info.
    3. לוחצים על סיום כדי להשלים את הגדרת הקישור ולסגור את החלונית.
  6. לוחצים על רכיב המשימה Connectors ואז על connectorInputPayload בקטע Task Input.
  7. מציינים את מטען ה-JSON הייעודי (payload) הבא בשדה Default Value:
    {
    "customer_id": 1001
    }
  8. כדי להפעיל את השילוב, לוחצים על הלחצן בדיקה בסרגל הכלים של כלי העריכה של השילוב.

    אם השילוב פועל בהצלחה, המשתנה connectorOutputPayload יכיל מטען ייעודי (payload) של JSON שדומה לזה:

    {
    "name": "John",
    "email": "john@test.com"
    }