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