Apps Komut Dosyası, standart Java Database Connectivity teknolojisini kapsayan bir sarmalayıcı olan JDBC hizmeti aracılığıyla harici veritabanlarına bağlanabilir. JDBC hizmeti; MySQL için Google Cloud SQL, MySQL, Microsoft SQL Server ve Oracle veritabanlarını destekler.
JDBC ile harici bir veritabanını güncellemek için komut dosyanızın veritabanına bir bağlantı açması ve ardından SQL ifadeleri göndererek değişiklik yapması gerekir.
Google Cloud SQL veritabanları
Google Cloud SQL, Google'ın bulutunda ilişkisel veritabanları oluşturmanıza olanak tanır. Cloud SQL için kullanımınıza göre ücret alınabileceğini unutmayın.
Cloud SQL hızlı başlangıç kılavuzundaki adımları uygulayarak Google Cloud SQL örneği oluşturabilirsiniz.
Google Cloud SQL bağlantıları oluşturma
Apps Script'in JDBC hizmetini kullanarak bir Google Cloud SQL veritabanı ile bağlantı kurmak için iki yöntem vardır:
- (Önerilen) Jdbc.getCloudSqlConnection(url) kullanarak bağlantı kurma
- Jdbc.getConnection(url) kullanarak bağlanma
Bu yöntemler aşağıda açıklanmıştır. Her ikisi de geçerlidir ancak ikinci yöntemde veritabanınıza erişmek için bir dizi IP aralığını yetkilendirmeniz gerekir.
Jdbc.getCloudSqlConnection(url) kullanarak (önerilen)
Bu yöntem, Jdbc.getCloudSqlConnection(url) yöntemini kullanarak bir Google Cloud SQL MySQL örneğine bağlantı oluşturur. Veritabanı URL'si jdbc:google:mysql://subname
şeklindedir. Burada subname
, Google Cloud Console'daki Cloud SQL örneği Genel Bakış sayfasında listelenen MySQL Örnek bağlantı adıdır.
Cloud SQL SQL Server'a bağlanmak için Jdbc.getConnection(url) bölümüne bakın.
Jdbc.getConnection(url) kullanılıyor
Bu yöntemi kullanabilmek için Apps Script sunucularının veritabanınıza bağlanabilmesi amacıyla belirli Sınıfsız Alanlar Arası Yönlendirme (CIDR) IP adresi aralıklarını yetkilendirmeniz gerekir. Komut dosyanızı çalıştırmadan önce aşağıdaki adımları tamamlayın:
Google Cloud SQL örneğinizde, bu veri kaynağından IP aralıklarını tek tek yetkilendirin.
Veritabanına atanan URL'yi kopyalayın. Bu URL,
jdbc:mysql:subname
biçiminde olmalıdır.
Bu IP aralıklarına yetki verdikten sonra, Jdbc.getConnection(url) yöntemlerinden birini ve yukarıda kopyaladığınız URL'yi kullanarak Google Cloud SQL örneğinize bağlantı oluşturabilirsiniz.
Diğer veritabanları
Kendi MySQL, Microsoft SQL Server veya Oracle veritabanınız varsa Apps Script'in JDBC hizmeti aracılığıyla veritabanınıza bağlanabilirsiniz.
Diğer veritabanı bağlantıları oluşturma
Apps Script JDBC hizmetini kullanarak veritabanı bağlantısı oluşturmak için veritabanı ayarlarınızdaki bu veri kaynağından IP aralıklarını yetkilendirmeniz gerekir.
Bu izin verilenler listeleri oluşturulduktan sonra, Jdbc.getConnection(url) yöntemlerinden birini ve veritabanınızın URL'sini kullanarak veritabanı bağlantısı oluşturabilirsiniz.
Örnek kod
Aşağıdaki örnek kodda, bir Google Cloud SQL veritabanına bağlandığınız varsayılır ve Jdbc.getCloudSqlConnection(url) yöntemi kullanılarak veritabanı bağlantıları oluşturulur. Diğer veritabanları için veritabanı bağlantıları oluşturmak üzere Jdbc.getConnection(url) yöntemini kullanmanız gerekir.
JDBC yöntemleri hakkında daha fazla bilgi için JDBC için Java belgelerine bakın.
Veritabanı, kullanıcı ve tablo oluşturma
Çoğu geliştirici, veritabanı, kullanıcı ve tablo oluşturmak için MySQL komut satırı aracını kullanır. Ancak, aşağıda gösterildiği gibi Apps Komut Dosyası'nda da aynı işlemi yapabilirsiniz. Komut dosyanızın her zaman root
olarak veritabanına bağlanması gerekmemesi için en az bir başka kullanıcı oluşturmanız önerilir.
Veritabanına yazma
Aşağıdaki örneklerde, veritabanına tek bir kaydın yanı sıra 500 kayıtlık bir grubun nasıl yazılacağı gösterilmektedir. Toplu işlemler için gruplandırma çok önemlidir.
Değişkenlerin ?
ile gösterildiği parametreli ifadelerin kullanımına da dikkat edin. SQL enjeksiyon saldırılarını önlemek için kullanıcı tarafından sağlanan tüm verilerden kaçmak üzere parametreli ifadeler kullanmanız gerekir.
Veritabanından okuma
Bu örnekte, gerektiğinde sonuç kümesi üzerinde döngü yaparak veritabanından çok sayıda kaydın nasıl okunacağı gösterilmektedir.
Bağlantıları kapatma
Bir komut dosyası yürütülmeyi tamamladığında JDBC bağlantıları otomatik olarak kapanır. (Çağrıyı yapan HTML hizmet sayfası açık kalsa bile tek bir google.script.run
çağrısının tamamlanmış bir yürütme olarak sayıldığını unutmayın.)
Bununla birlikte, komut dosyasının sona ermesinden önce bir bağlantı, ifade veya sonuç kümesiyle işinizin bittiğini biliyorsanız JdbcConnection.close()
, JdbcStatement.close()
veya JdbcResultSet.close()
'ı çağırarak bunları manuel olarak kapatmanız önerilir.
Uyarı veya istem iletişim kutusu gösterildiğinde açık JDBC bağlantıları da sonlandırılır. Ancak özel içerik barındıran özel menüler, iletişim kutuları ve kenar çubukları gibi diğer kullanıcı arayüzü öğeleri bu kapsamda değildir.
Google, Google Workspace ve ilgili markalar ile logolar Google LLC'nin ticari markalarıdır. Diğer tüm şirket ve ürün adları, ilişkili oldukları şirketlerin ticari markalarıdır.