Apps Script میتواند از طریق سرویس JDBC به پایگاههای داده خارجی متصل شود. سرویس JDBC از Google Cloud SQL برای پایگاههای داده MySQL ، MySQL، Microsoft SQL Server و Oracle پشتیبانی میکند.
برای به روز رسانی یک پایگاه داده خارجی با JDBC، اسکریپت شما باید یک اتصال به پایگاه داده باز کند و سپس با ارسال دستورات SQL تغییراتی را ایجاد کند.
پایگاه داده های Google Cloud SQL
Google Cloud SQL به شما امکان می دهد پایگاه داده های رابطه ای ایجاد کنید که در ابر Google زندگی می کنند. توجه داشته باشید که Cloud SQL ممکن است بر اساس استفاده شما هزینه هایی را متحمل شود.
میتوانید با دنبال کردن مراحل فهرستشده در شروع سریع Cloud SQL، یک نمونه Google Cloud SQL ایجاد کنید.
ایجاد اتصالات Google Cloud SQL
دو راه برای برقراری ارتباط با پایگاه داده Google Cloud SQL با استفاده از سرویس JDBC Apps Script وجود دارد:
- (توصیه می شود) اتصال با استفاده از Jdbc.getCloudSqlConnection(url)
- اتصال با استفاده از Jdbc.getConnection(url)
این روش ها در زیر توضیح داده شده است. هر دو معتبر هستند، اما روش دوم مستلزم آن است که مجموعه ای از محدوده IP را برای دسترسی به پایگاه داده خود مجاز کنید.
استفاده از Jdbc.getCloudSqlConnection(url) (توصیه می شود)
این روش با استفاده از روش Jdbc.getCloudSqlConnection(url) به یک نمونه Google Cloud SQL MySQL اتصال ایجاد می کند. URL پایگاه داده به شکل jdbc:google:mysql://subname
است، که در آن subname
نام اتصال MySQL Instance است که در صفحه نمای کلی نمونه Cloud SQL در کنسول Google Cloud فهرست شده است.
برای اتصال به Cloud SQL SQL Server، به Jdbc.getConnection(url) مراجعه کنید.
استفاده از Jdbc.getConnection(url)
برای استفاده از این روش، باید محدودههای آدرس IP مسیریابی بین دامنهای بدون کلاس (CIDR) را مجاز کنید تا سرورهای Apps Script بتوانند به پایگاه داده شما متصل شوند. قبل از اجرای اسکریپت، مراحل زیر را انجام دهید:
در نمونه Google Cloud SQL خود، محدودههای IP را هر بار از این منبع داده مجاز کنید.
URL که به پایگاه داده شما اختصاص داده شده را کپی کنید. باید به شکل
jdbc:mysql:subname
باشد.
هنگامی که این محدودههای IP را مجاز کردید، میتوانید با استفاده از یکی از روشهای Jdbc.getConnection(url) و URL که در بالا کپی کردهاید، به نمونه Google Cloud SQL خود اتصال ایجاد کنید.
سایر پایگاه های داده
اگر قبلاً پایگاه داده MySQL، Microsoft SQL Server یا Oracle خود را دارید، می توانید از طریق سرویس JDBC Apps Script به آن متصل شوید.
ایجاد سایر اتصالات پایگاه داده
به منظور ایجاد اتصال پایگاه داده با استفاده از سرویس Apps Script JDBC ، در تنظیمات پایگاه داده خود باید محدوده IP را از این منبع داده مجاز کنید.
پس از ایجاد این لیست های مجاز، می توانید با استفاده از یکی از روش های Jdbc.getConnection(url) و URL پایگاه داده خود، یک اتصال به پایگاه داده ایجاد کنید.
کد نمونه
کد نمونه زیر فرض میکند که شما به یک پایگاه داده Google Cloud SQL متصل میشوید، و اتصالات پایگاه داده را با استفاده از روش Jdbc.getCloudSqlConnection(url) ایجاد میکند. برای سایر پایگاه های داده باید از روش Jdbc.getConnection(url) برای ایجاد اتصالات پایگاه داده استفاده کنید.
برای اطلاعات بیشتر در مورد روشهای JDBC، به مستندات جاوا برای JDBC مراجعه کنید.
یک پایگاه داده، کاربر و جدول ایجاد کنید
اکثر توسعه دهندگان از ابزار خط فرمان MySQL برای ایجاد پایگاه داده ها، کاربران و جداول استفاده می کنند. با این حال، همانطور که در زیر نشان داده شده است، می توان همان کار را در Apps Script انجام داد. ایده خوبی است که حداقل یک کاربر دیگر ایجاد کنید تا اسکریپت شما همیشه مجبور نباشد به عنوان root
به پایگاه داده متصل شود.
در پایگاه داده بنویسید
مثال های زیر نحوه نوشتن یک رکورد واحد در پایگاه داده و همچنین دسته ای از 500 رکورد را نشان می دهد. بچینگ برای عملیات انبوه حیاتی است.
همچنین به استفاده از عبارات پارامتری که در آن متغیرها با ?
. برای جلوگیری از حملات تزریق SQL ، باید از عبارات پارامتری برای فرار از تمام داده های ارائه شده توسط کاربر استفاده کنید.
از پایگاه داده بخوانید
این مثال نشان می دهد که چگونه می توان تعداد زیادی رکورد را از پایگاه داده خواند و در صورت لزوم روی مجموعه نتایج حلقه زد.
بستن اتصالات
اتصالات JDBC هنگامی که اجرای یک اسکریپت به پایان می رسد به طور خودکار بسته می شوند. (به خاطر داشته باشید که یک تماس google.script.run
به عنوان یک اجرای کامل حساب می شود، حتی اگر صفحه سرویس HTML که تماس را برقرار کرده باز بماند.)
با این وجود، اگر میدانید که کار با یک اتصال، دستور یا نتیجه قبل از پایان اسکریپت تمام شده است، بهتر است با فراخوانی JdbcConnection.close()
، JdbcStatement.close()
یا JdbcResultSet.close()
.
نمایش هشدار یا گفتگوی اعلان هر گونه اتصال JDBC باز را نیز خاتمه می دهد. با این حال، سایر عناصر رابط کاربری (مانند منوها یا دیالوگهای سفارشی و نوارهای کناری با محتوای سفارشی) نشان داده نمیشوند.
Google، Google Workspace، و علائم و نشانوارههای مرتبط، علائم تجاری Google LLC هستند. تمام نامهای شرکت و محصولات دیگر علائم تجاری شرکتهایی هستند که با آنها مرتبط هستند.