يمكن لخدمة 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
المدرَج في صفحة نظرة عامة الخاصة بمثيل Cloud SQL في
وحدة تحكّم Google Cloud.
للاتصال بخادم SQL في Cloud SQL، راجِع Jdbc.getConnection(url).
استخدام Jdbc.getConnection(url)
لاستخدام هذه الطريقة، يجب منح الإذن لنطاقات عناوين IP معيّنة للتوجيه بين النطاقات بدون فئات (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 في "برمجة تطبيقات Google"، يجب أن تسمح بنطاقات عناوين IP من مصدر البيانات هذا في إعدادات قاعدة البيانات.
بعد إعداد قوائم السماح هذه، يمكنك إنشاء اتصال بقاعدة البيانات باستخدام إحدى طرق Jdbc.getConnection(url) وعنوان URL الخاص بقاعدة البيانات.
نموذج التعليمات البرمجية
يفترض نموذج الرمز البرمجي أدناه أنّك تتصل بقاعدة بيانات Google Cloud SQL، وينشئ اتصالات بقاعدة البيانات باستخدام الطريقة Jdbc.getCloudSqlConnection(url). بالنسبة إلى قواعد البيانات الأخرى، يجب استخدام طريقة Jdbc.getConnection(url) لإنشاء عمليات ربط بقواعد البيانات.
لمزيد من المعلومات عن طرق JDBC، راجِع مستندات Java الخاصة بـ JDBC.
إنشاء قاعدة بيانات ومستخدم وجدول
يستخدم معظم المطوّرين
أداة سطر الأوامر MySQL
لإنشاء قواعد البيانات والمستخدمين والجداول. ومع ذلك، يمكن إجراء ذلك في "برمجة تطبيقات Google"، كما هو موضّح أدناه. من المستحسن إنشاء مستخدم واحد على الأقل
ليستطيع النص البرمجي الاتصال بقاعدة البيانات دائمًا بصفتك
root
.
الكتابة في قاعدة البيانات
توضّح الأمثلة أدناه كيفية كتابة سجلّ واحد في قاعدة البيانات، بالإضافة إلى مجموعة من 500 سجلّ. تُعدّ عملية تجميع البيانات ضرورية للعمليات المجمّعة.
يُرجى أيضًا ملاحظة استخدام عبارات تتضمّن مَعلمات، حيث يتم الإشارة إلى المتغيّرات بالرمز ?
. لمنع
هجمات حقن SQL، عليك استخدام
عبارات تتضمّن مَعلمات لتجنُّب جميع البيانات التي يقدّمها المستخدم.
القراءة من قاعدة البيانات
يوضّح هذا المثال كيفية قراءة عدد كبير من السجلات من قاعدة البيانات، مع تكرار مجموعة النتائج حسب الحاجة.
إغلاق الاتصالات
يتم إغلاق اتصالات JDBC تلقائيًا عند انتهاء تنفيذ النص البرمجي. (يُرجى العِلم أنّ طلب google.script.run
واحد يُحتسب كتنفيذ كامل، حتى إذا بقيت صفحة خدمة HTML التي أرسلت الطلب مفتوحة).
ومع ذلك، إذا كنت تعرف أنّك انتهيت من استخدام عملية ربط أو عبارة أو مجموعة نتائج
قبل نهاية النص البرمجي، من المستحسن إغلاقها يدويًا من خلال استدعاء
JdbcConnection.close()
أو
JdbcStatement.close()
أو
JdbcResultSet.close()
.
يؤدي عرض مربّع حوار تنبيه أو طلب أيضًا إلى إنهاء أي اتصالات JDBC مفتوحة. في المقابل، لا تنطبق هذه السياسة على عناصر واجهة المستخدم الأخرى، مثل القوائم المخصّصة أو مربّعات الحوار والأشرطة الجانبية التي تتضمّن محتوًى مخصّصًا.
إنّ Google وGoogle Workspace والعلامات والشعارات المرتبطة بها هي علامات تجارية مسجَّلة مملوكة من قِبل شركة Google LLC. وجميع أسماء الشركات والمنتجات الأخرى هي علامات تجارية تملكها الشركات ذات الصلة بها.