Apps Komut Dosyası, standart Java Veritabanı Bağlantısı teknolojisi etrafında 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.
Harici bir veritabanını JDBC ile güncellemek için komut dosyanızın veritabanı ile bir bağlantı açması ve SQL ifadeleri göndererek değişiklikler yapması gerekir.
Google Cloud SQL veritabanları
Google Cloud SQL, Google'ın bulutunda bulunan ilişkisel veritabanları oluşturmanıza olanak tanır. Kullanımınıza bağlı olarak Cloud SQL için ücret uygulanabileceğini unutmayın.
Cloud SQL hızlı başlangıç kılavuzunda listelenen adımları uygulayarak Google Cloud SQL örneği oluşturabilirsiniz.
Google Cloud SQL bağlantıları oluşturma
Apps Komut Dosyası'nın JDBC hizmetini kullanarak bir Google Cloud SQL veritabanıyla bağlantı kurmanın iki yolu vardır:
- (Önerilir) Jdbc.getCloudSqlConnection(url) kullanarak bağlanma
- 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 grup IP aralığını yetkilendirmeniz gerekir.
Jdbc.getCloudSqlConnection(url) kullanılması (önerilir)
Bu yöntem, Jdbc.getCloudSqlConnection(url) yöntemini kullanarak Google Cloud SQL MySQL örneğiyle bağlantı oluşturur. Veritabanı URL'si jdbc:google:mysql://subname
biçimindedir. Burada subname
, Google Cloud konsolundaki Cloud SQL örneği Genel Bakış sayfasında listelenen MySQL Örneği bağlantı adıdır.
Cloud SQL SQL Server'a bağlanmak için Jdbc.getConnection(url) adresini ziyaret edin.
Jdbc.getConnection(url) işlevini kullanma
Bu yöntemi kullanmak için belirli Sınıfsız Alanlar Arası Yönlendirme (CIDR) IP adresi aralıklarını yetkilendirmeniz gerekir. Böylece Apps Komut Dosyası sunucuları veritabanınıza bağlanabilir. Komut dosyanızı çalıştırmadan önce aşağıdaki adımları tamamlayın:
Google Cloud SQL örneğinizde, bu veri kaynağından teker teker IP aralıklarını yetkilendirin.
Veritabanınıza atanan URL'yi kopyalayın.
jdbc:mysql:subname
biçiminde olmalıdır.
Bu IP aralıklarını yetkilendirdikten sonra Jdbc.getConnection(url) yöntemlerinden birini ve yukarıda kopyaladığınız URL'yi kullanarak Google Cloud SQL örneğinizle bağlantılar oluşturabilirsiniz.
Diğer veritabanları
Kendi MySQL, Microsoft SQL Server veya Oracle veritabanınız varsa Apps Komut Dosyası'nın JDBC hizmeti aracılığıyla bu veritabanına bağlanabilirsiniz.
Başka veritabanı bağlantıları oluşturma
Apps Komut Dosyası JDBC hizmetini kullanarak veritabanı bağlantısı oluşturmak için veritabanı ayarlarınızda IP aralıklarını bu veri kaynağından yetkilendirmeniz gerekir.
Bu izin verilenler listeleri uygulandıktan sonra, Jdbc.getConnection(url) yöntemlerinden birini ve veritabanınızın URL'sini kullanarak veritabanıyla bağlantı oluşturabilirsiniz.
Örnek kod
Aşağıdaki örnek kod bir Google Cloud SQL veritabanına bağlandığınızı ve Jdbc.getCloudSqlConnection(url) yöntemini kullanarak veritabanı bağlantıları oluşturduğunu varsayar. Diğer veritabanları için Jdbc.getConnection(url) yöntemini kullanarak veritabanı bağlantıları oluşturmanız gerekir.
JDBC yöntemleri hakkında daha fazla bilgi için JDBC için Java dokümanlarına bakın.
Veritabanı, kullanıcı ve tablo oluşturma
Çoğu geliştirici; veritabanları, kullanıcılar ve tablolar 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 yapmak mümkündür. En az bir kullanıcı daha oluşturmanız önerilir. Böylece komut dosyanız, veritabanına her zaman root
olarak bağlanmak zorunda kalmaz.
Veritabanına yazma
Aşağıdaki örnekler, 500 kayıtlık bir grubun yanı sıra veritabanına tek bir kaydın nasıl yazılacağını göstermektedir. Toplu işlem, toplu işlemler için hayati önem taşır.
Ayrıca, değişkenlerin ?
ile gösterildiği parametre haline getirilmiş ifadelerin kullanımına da dikkat edin. SQL yerleştirme saldırılarını önlemek için kullanıcı tarafından sağlanan tüm verilerden çıkış yapacak parametreli ifadeler kullanmanız gerekir.
Veritabanından okuma
Bu örnekte, gerektiğinde sonuç kümesini döngüye alarak veritabanından çok sayıda kaydın nasıl okunacağı gösterilmektedir.
Bağlantıları kapatma
Bir komut dosyasının yürütülmesi bittiğinde JDBC bağlantıları otomatik olarak kapanır. (Çağrıyı yapan HTML hizmeti sayfası açık kalsa bile tek bir google.script.run
çağrısının tam bir yürütme olarak sayıldığını unutmayın.)
Yine de, komut dosyasının bitiminden önce bir bağlantı, ifade veya sonuç kümesiyle ilgili işiniz bittiyse bunları JdbcConnection.close()
, JdbcStatement.close()
veya JdbcResultSet.close()
çağrısı yaparak manuel olarak kapatmak iyi bir fikirdir.
Bir uyarı veya istem iletişim kutusunun gösterilmesi de açık JDBC bağlantılarını sonlandırır. Ancak, gösterilen diğer kullanıcı arayüzü öğeleri (ör. özel menüler veya iletişim kutuları ve özel içeriğe sahip kenar çubukları) görünmez.
Google, Google Workspace ve ilgili markalar ile logolar Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markalarıdır.