אפשר להתחבר למסדי נתונים חיצוניים באמצעות שירות JDBC של Apps Script, שהוא עטיפה של טכנולוגיית Java Database Connectivity (קישוריות למסדי נתונים ב-Java) הרגילה. שירות JDBC תומך ב-Google Cloud SQL ל-MySQL, ב-MySQL, ב-Microsoft SQL Server ובמסדי נתונים של Oracle.
כדי לעדכן מסד נתונים חיצוני באמצעות JDBC, הסקריפט צריך לפתוח חיבור למסד הנתונים ואז לבצע שינויים על ידי שליחת משפטי SQL.
מסדי נתונים של Google Cloud SQL
Google Cloud SQL מאפשר ליצור מסדי נתונים רלציוניים שפועלים בענן של Google. שימו לב שייתכנו חיובים על Cloud SQL בהתאם לשימוש.
כדי ליצור מופע של Google Cloud SQL, פועלים לפי השלבים שמפורטים במדריך למתחילים בנושא Cloud SQL.
יצירת חיבורים ל-Google Cloud SQL
יש שתי דרכים ליצור חיבור למסד נתונים של Google Cloud SQL באמצעות שירות JDBC של Apps Script:
- (מומלץ) חיבור באמצעות Jdbc.getCloudSqlConnection(url)
- התחברות באמצעות Jdbc.getConnection(url)
השיטות האלה מוסברות בהמשך. שתי השיטות תקפות, אבל בשיטה השנייה צריך לאשר קבוצה של טווחי כתובות IP כדי לגשת למסד הנתונים.
שימוש ב-Jdbc.getCloudSqlConnection(url) (מומלץ)
השיטה הזו יוצרת חיבור למופע MySQL של Google Cloud SQL באמצעות השיטה Jdbc.getCloudSqlConnection(url). כתובת ה-URL של מסד הנתונים היא מהצורה jdbc:google:mysql://subname
, כאשר subname
הוא שם החיבור של המופע של MySQL שמופיע בדף Overview של מופע Cloud SQL ב-Google Cloud Console.
כדי להתחבר ל-Cloud SQL SQL Server, אפשר לעיין במאמר בנושא Jdbc.getConnection(url).
שימוש ב-Jdbc.getConnection(url)
כדי להשתמש בשיטה הזו, צריך לאשר טווחי כתובות IP מסוימים של Classless Inter-Domain Routing (CIDR) כדי שהשרתים של Apps Script יוכלו להתחבר למסד הנתונים שלכם. לפני שמריצים את הסקריפט, צריך לבצע את השלבים הבאים:
במופע Google Cloud SQL, צריך לתת הרשאה לטווח כתובות ה-IP, אחת בכל פעם ממקור הנתונים הזה.
מעתיקים את כתובת ה-URL שהוקצתה למסד הנתונים. היא צריכה להיות בפורמט
jdbc:mysql:subname
.
אחרי שתאשרו את טווחי כתובות ה-IP האלה, תוכלו ליצור חיבורים למופע Google Cloud SQL באמצעות אחת מהשיטות Jdbc.getConnection(url) וכתובת ה-URL שהעתקתם למעלה.
מסדי נתונים אחרים
אם כבר יש לכם מסד נתונים משלכם של MySQL, Microsoft SQL Server או Oracle, אתם יכולים להתחבר אליו באמצעות שירות ה-JDBC של Apps Script.
יצירת חיבורים אחרים למסד נתונים
כדי ליצור חיבור למסד נתונים באמצעות שירות JDBC של Apps Script, צריך לאשר בנתוני מסד הנתונים טווחי כתובות IP ממקור הנתונים הזה.
אחרי שיוצרים את רשימות ההיתרים האלה, אפשר ליצור חיבור למסד הנתונים באמצעות אחת מהשיטות של Jdbc.getConnection(url) וכתובת ה-URL של מסד הנתונים.
קוד לדוגמה
הקוד לדוגמה שבהמשך מניח שאתם מתחברים למסד נתונים של Google Cloud SQL, ויוצר חיבורים למסד נתונים באמצעות השיטה Jdbc.getCloudSqlConnection(url). במסדי נתונים אחרים צריך להשתמש בשיטה Jdbc.getConnection(url) כדי ליצור חיבורים למסד הנתונים.
מידע נוסף על שיטות JDBC מופיע במסמכי התיעוד של Java בנושא JDBC.
יצירת מסד נתונים, משתמש וטבלה
רוב המפתחים משתמשים בכלי של שורת הפקודה של MySQL כדי ליצור מסדי נתונים, משתמשים וטבלאות. עם זאת, אפשר לעשות את אותו הדבר ב-Apps Script, כמו שמוצג בהמשך. מומלץ ליצור לפחות משתמש אחד נוסף כדי שהסקריפט לא יצטרך להתחבר תמיד למסד הנתונים בתור root
.
כתיבה למסד הנתונים
בדוגמאות הבאות מוסבר איך לכתוב רשומה אחת למסד הנתונים ואיך לכתוב קבוצה של 500 רשומות. הוספה של פעולות לקבוצות חיונית לביצוע פעולות בכמות גדולה.
שימו לב גם לשימוש בהצהרות עם פרמטרים, שבהן המשתנים מסומנים ב-?
. כדי למנוע מתקפות של הזרקת SQL, צריך להשתמש בהצהרות עם פרמטרים כדי לבצע escape לכל הנתונים שהמשתמשים מספקים.
קריאה ממסד הנתונים
בדוגמה הזו אפשר לראות איך קוראים מספר גדול של רשומות ממסד הנתונים, וחוזרים על קבוצת התוצאות לפי הצורך.
סגירת חיבורים
חיבורי JDBC נסגרים אוטומטית כשסקריפט מסיים את ההרצה. (חשוב לזכור שקריאה אחת ל-google.script.run
נחשבת להפעלה מלאה, גם אם דף שירות ה-HTML שמבצע את הקריאה נשאר פתוח).
עם זאת, אם אתם יודעים שסיימתם להשתמש בחיבור, בהצהרה או בערכת תוצאות
לפני סוף הסקריפט, מומלץ לסגור אותם ידנית באמצעות הקריאה
JdbcConnection.close()
,
JdbcStatement.close()
,
או
JdbcResultSet.close()
.
הצגת התראה או תיבת דו-שיח עם הנחיה גורמת גם לסיום של כל חיבורי JDBC פתוחים. אבל רכיבי ממשק משתמש אחרים שמוצגים – כמו תפריטים מותאמים אישית או תיבות דו-שיח וסרגלי צד עם תוכן מותאם אישית – לא נכללים.
Google, Google Workspace וסימנים וסמלי לוגו קשורים הם סימנים מסחריים של Google LLC. כל שמות החברות והמוצרים האחרים הם סימנים מסחריים של החברות שאליהן הם משויכים.