Apps Script peut se connecter à des bases de données externes via Service JDBC, un wrapper autour du service standard Technologie de connectivité aux bases de données Java : Le service JDBC est compatible avec Google Cloud SQL pour MySQL, MySQL, Microsoft SQL et les bases de données Oracle.
Pour mettre à jour une base de données externe avec JDBC, votre script doit ouvrir une connexion à la base de données, puis effectuer 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 fonctionnent dans le cloud de Google. Notez que Cloud SQL peut entraîner des frais en fonction de votre utilisation.
Pour créer une instance Google Cloud SQL, suivez la procédure décrite dans le Guide de démarrage rapide de Cloud SQL
Créer des connexions Google Cloud SQL
Il existe deux façons d'établir une connexion avec un serveur Google Cloud SQL à l'aide du service JDBC d'Apps Script:
- (Recommandé) Se connecter à l'aide de Jdbc.getCloudSqlConnection(url)
- Connexion à l'aide de Jdbc.getConnection(url)
Ces méthodes sont expliquées ci-dessous. Les deux sont valides, mais la seconde méthode nécessite que vous autorisiez un ensemble de plages d'adresses IP pour l'accès à votre base de données.
Utiliser Jdbc.getCloudSqlConnection(url) (recommandé)
Cette méthode crée une connexion à une instance MySQL Google Cloud SQL à l'aide de la connexion Jdbc.getCloudSqlConnection(url)
. 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.
sur la page Présentation de l'instance Cloud SQL
Console Google Cloud :
Pour vous connecter à Cloud SQL SQL Server, consultez Jdbc.getConnection(url).
Utilisation de Jdbc.getConnection(url)
Pour utiliser cette méthode, vous devez autoriser certaines Routage inter-domaine sans classe (CIDR, Classless Inter-Domain Routing) Plages d'adresses IP permettant aux serveurs Apps Script de se connecter à votre base de données. Avant d'exécuter votre script, procédez comme suit:
Dans votre instance Google Cloud SQL, autoriser les plages d'adresses IP ; une par une à partir de cette source de données.
Copiez l'URL attribuée à votre base de données. il doit comporter formulaire
jdbc:mysql:subname
.
Une fois que vous avez autorisé ces plages d'adresses IP, vous pouvez créer des connexions Instance Google Cloud SQL à l'aide de l'un des Jdbc.getConnection(url) et l'URL que vous avez copiée ci-dessus.
Autres bases de données
Si vous possédez déjà votre propre base de données MySQL, Microsoft SQL Server ou Oracle, vous pouvez vous y connecter via le service JDBC d'Apps Script.
Créer d'autres connexions à la base de données
Pour créer une connexion à une base de données à l'aide d'Apps Script Service JDBC, dans les paramètres de votre base de données vous devez autoriser les plages d'adresses IP de cette source de données.
Une fois ces listes d'autorisation en place, vous pouvez créer une connexion à la base de données à l'aide de l'un des Jdbc.getConnection(url) et l'URL de votre base de données.
Exemple de code
L'exemple de code ci-dessous suppose que vous vous connectez à une base de données Google Cloud SQL, et crée des connexions à la base de données Jdbc.getCloudSqlConnection(url) . Pour les autres bases de données, vous devez utiliser la Jdbc.getConnection(url) pour créer des connexions à la base de données.
Pour en savoir plus sur les méthodes JDBC, consultez le 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. Cependant, il est possible de faire de même
dans Apps Script, comme indiqué ci-dessous. Il est conseillé de créer au moins un
d'un autre utilisateur, de sorte que votre script n'ait pas toujours à se connecter à la base de données
root
Écrire dans la base de données
Les exemples ci-dessous 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.
Notez également l'utilisation d'instructions paramétrées, dans lesquelles les variables sont
indiqué par ?
. Pour éviter
Attaques par injection SQL, vous devez utiliser
et 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 du base de données, en effectuant une boucle sur l'ensemble de résultats si nécessaire.
Fermer les connexions
Les connexions JDBC se ferment automatiquement à la fin de l'exécution d'un script. (À conserver dans
gardez à l'esprit qu'un seul élément google.script.run
est comptabilisé comme une exécution complète, même si la page de service HTML qui a
reste ouvert.)
Néanmoins, si vous savez que vous en avez fini avec une connexion, une instruction ou un ensemble de résultats
avant la fin du script, nous vous conseillons de les fermer manuellement en appelant
JdbcConnection.close()
,
JdbcStatement.close()
,
ou
JdbcResultSet.close()
Afficher une alerte ou une boîte de dialogue d'invite met également fin aux connexions JDBC ouvertes. Toutefois, d'autres éléments d'interface tels que des menus personnalisés, des boîtes de dialogue ou des barres latérales avec des ne le fait pas.
Google, Google Workspace, ainsi que les marques et les logos associés sont des marques de 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.