Les versions 1.0 et 1.1 du protocole de sécurité TLS sont désactivées. Pour établir des connexions, utilisez TLS 1.2 ou une version ultérieure.
Google Apps Script peut se connecter à des bases de données externes via le service JDBC, un wrapper autour de la technologie Java Database Connectivity standard. Le service JDBC est compatible avec les bases de données Google Cloud SQL pour MySQL, MySQL, Microsoft SQL Server, Oracle et PostgreSQL.
Si votre feuille de calcul devient trop volumineuse ou si vous rencontrez des problèmes de délai d'expiration avec des calculs complexes, le transfert de vos données vers une base de données externe peut améliorer considérablement les performances et la fiabilité.
Pour mettre à jour une base de données externe avec JDBC, votre script doit ouvrir une connexion à la base de données, puis apporter des modifications en envoyant des instructions SQL.
Bases de données Google Cloud SQL
Google Cloud SQL vous permet de créer des bases de données relationnelles qui résident dans le cloud de Google. Cloud SQL peut entraîner des frais en fonction de votre utilisation.
Créez une instance Google Cloud SQL en suivant les étapes décrites dans le guide de démarrage rapide de Cloud SQL.
Créer des connexions Google Cloud SQL
Vous pouvez établir une connexion à une base de données Google Cloud SQL de deux manières à l'aide du service JDBC d'Apps Script :
- (Recommandé) Se connecter à l'aide de Jdbc.getCloudSqlConnection
- Se connecter à l'aide de Jdbc.getConnection
Les deux méthodes sont valides, mais la seconde vous oblige à autoriser un ensemble de plages d'adresses IP pour accéder à votre base de données.
Utiliser Jdbc.getCloudSqlConnection (recommandé)
Cette méthode crée une connexion à une instance Google Cloud SQL MySQL à l'aide de la
Jdbc.getCloudSqlConnection. L'URL de la base de données se présente sous la forme jdbc:google:mysql://subname, où
subname correspond au nom de connexion de l'instance MySQL indiqué sur la page Présentation de l'instance Cloud SQL
dans la console Google Cloud.
Pour vous connecter à Cloud SQL SQL Server, consultez Jdbc.getConnection.
Utiliser Jdbc.getConnection
Pour utiliser cette méthode, vous devez autoriser certaines plages d'adresses IP CIDR (Classless Inter-Domain Routing) afin que les serveurs d'Apps Script puissent se connecter à votre base de données. Avant d'exécuter votre script, procédez comme suit :
Dans votre instance Google Cloud SQL, autorisez les plages d'adresses IP, une à la fois, à partir de cette source de données.
Copiez l'URL qui a été attribuée à votre base de données. Elle doit se présenter sous la forme
jdbc:mysql:subname.
Une fois ces plages d'adresses IP autorisées, créez des connexions à votre instance Google Cloud SQL à l'aide de l'une des Jdbc.getConnection et de l'URL que vous avez copiée précédemment.
Autres bases de données
Si vous possédez déjà votre propre base de données MySQL, Microsoft SQL Server, Oracle ou PostgreSQL, connectez-vous à celle-ci via le service JDBC d'Apps Script.
Créer d'autres connexions à des bases de données
Pour créer une connexion à une base de données à l'aide du service JDBC d'Apps Script , vous devez autoriser les plages d'adresses IP de cette source de données dans les paramètres de votre base de données.
Le service JDBC ne peut se connecter qu'aux ports 1025 ou ultérieurs. Assurez-vous que votre base de données ne fonctionne pas sur un port inférieur.
Une fois ces listes d'autorisation en place, créez une connexion à la base de données à l'aide de l'une des Jdbc.getConnection et de l'URL de votre base de données.
Exemple de code
L'exemple de code suivant suppose que vous vous connectez à une base de données Google Cloud SQL et crée des connexions à la base de données à l'aide de la méthode Jdbc.getCloudSqlConnection. Pour les autres bases de données, vous devez utiliser la Jdbc.getConnection pour créer des connexions à la base de données.
Pour en savoir plus sur les méthodes JDBC, consultez la documentation Java pour JDBC.
Créer une base de données, un utilisateur et une table
La plupart des développeurs utilisent l'
outil de ligne de commande MySQL pour
créer des bases de données, des utilisateurs et des tables. Toutefois, il est possible de faire la même chose dans Apps Script, comme illustré dans l'exemple suivant. Créez au moins un autre utilisateur afin que votre script n'ait pas toujours à se connecter à la base de données en tant que root.
Écrire dans la base de données
Les exemples suivants montrent comment écrire un seul enregistrement dans la base de données, ainsi qu'un lot de 500 enregistrements. Le traitement par lot est essentiel pour les opérations groupées.
Des instructions paramétrées sont utilisées, dans lesquelles les variables sont indiquées par ?. Pour
éviter les attaques par injection SQL,
utilisez des instructions paramétrées pour échapper à toutes les données fournies par l'utilisateur.
Lire à partir de la base de données
Cet exemple montre comment lire un grand nombre d'enregistrements à partir de la base de données, en parcourant l'ensemble de résultats si nécessaire.
Fermer les connexions
Les connexions JDBC se ferment automatiquement lorsqu'un script a terminé son exécution. (Les appels
google.script.run uniques sont considérés comme une
exécution complète, même si la page du service HTML qui a effectué l'appel reste
ouverte.)
Toutefois, si vous savez que vous avez terminé d'utiliser une connexion, une instruction ou un ensemble de résultats
avant la fin du script, fermez-les manuellement en appelant
JdbcConnection.close,
JdbcStatement.close,
ou
JdbcResultSet.close.
L'affichage d'une boîte de dialogue d'alerte ou d'invite met également fin à toutes les connexions JDBC ouvertes. Toutefois, ce n'est pas le cas pour les autres éléments d'interface utilisateur, tels que les menus ou boîtes de dialogue personnalisés et les barres latérales avec du contenu personnalisé.
Google, Google Workspace, ainsi que les marques et logos associés sont des marques appartenant à Google LLC. Tous les autres noms de sociétés et de produits sont des marques des sociétés auxquelles ils sont associés.