אפשר להתחבר למסדי נתונים חיצוניים ב-Apps Script באמצעות שירות JDBC, שהוא מעטפת של טכנולוגיית Java Database Connectivity הרגילה. שירות ה-JDBC תומך במסדי נתונים של Google Cloud SQL for 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.
כדי להתחבר ל-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). במסדי נתונים אחרים, צריך להשתמש ב-method Jdbc.getConnection(url) כדי ליצור חיבורי מסדי נתונים.
מידע נוסף על ה-methods של JDBC זמין במאמרי העזרה של Java ל-JDBC.
יצירת מסד נתונים, משתמש וטבלה
רוב המפתחים משתמשים בכלי שורת הפקודה MySQL כדי ליצור מסדי נתונים, משתמשים וטבלאות. עם זאת, אפשר לעשות את אותו הדבר ב-Apps Script, כפי שמתואר בהמשך. מומלץ ליצור לפחות משתמש אחד נוסף כדי שהסקריפט לא יצטרך תמיד להתחבר למסד הנתונים בתור root
.
כתיבת במסד הנתונים
בדוגמאות הבאות מוסבר איך לכתוב רשומה אחת במסד הנתונים וגם קבוצה של 500 רשומות. חשוב מאוד לבצע פעולות בכמות גדולה בקבוצות.
שימו לב גם לשימוש בהצהרות עם פרמטרים, שבהן המשתנים מסומנים ב-?
. כדי למנוע התקפות הזרקת SQL, צריך להשתמש בהצהרות עם פרמטרים כדי להימנע מהמרת כל הנתונים שהמשתמשים סיפקו.
קריאה מהמסד הנתונים
בדוגמה הזו מוסבר איך לקרוא מספר רב של רשומות מהמסד נתונים, ולעבור על קבוצת התוצאות לפי הצורך.
סגירת חיבורים
חיבורי JDBC נסגרים באופן אוטומטי כשהרצת הסקריפט מסתיימת. (חשוב לזכור שקריאה אחת ל-google.script.run
נחשבת לביצוע מלא, גם אם דף השירות ב-HTML שבו בוצעה הקריאה נשאר פתוח).
עם זאת, אם אתם יודעים שאתם מסיימים להשתמש בחיבור, בהצהרה או בקבוצת תוצאות לפני סוף הסקריפט, מומלץ לסגור אותם באופן ידני באמצעות קריאה ל-JdbcConnection.close()
, ל-JdbcStatement.close()
או ל-JdbcResultSet.close()
.
הצגת תיבת דו-שיח של התראות או הנחיות סוגרת גם את כל חיבורי ה-JDBC הפתוחים. לעומת זאת, רכיבי ממשק משתמש אחרים שמוצגים – כמו תפריטים מותאמים אישית או תיבות דו-שיח וסרגלי צד עם תוכן מותאם אישית – לא נכללים במדיניות הזו.
Google, Google Workspace והסימנים וסמלי הלוגו הקשורים אליהם הם סימנים מסחריים של Google LLC. כל שמות החברות והמוצרים האחרים הם סימנים מסחריים של החברות שאליהן הם משויכים.