Come connettersi ad un database con JDBC in un Foglio Google

Sapevate che è possibile connettersi ad una fonte dati esterna all’interno di un Foglio Google?

Grazie all’oggetto Jdbc è possibile connettersi ad esempio ad un database MySQL e visualizzare i dati su un Foglio Google.

Di seguito un frammento di codice in Apps Script con due funzioni.

La prima getDbConnection crea una connessione al database e la restituisce,
la seconda readData estrae i dati da un resultset eseguendo una query attraverso la connessione di cui sopra.

var conn = null;

function getDbConnection(){
    if (conn != null){
      return conn;
    } else {
      var server = 'HOSTNAME';
      var port = 3306;
      var dbName = 'DB_NAME';
      var username = 'DB_USER';
      var password = 'DB_PASSWORD';
      var url = 'jdbc:mysql://' + server + ':' + port + '/' + dbName;
      conn = Jdbc.getConnection(url, username, password);
      return conn;
    }
}

function readData(){
    var conn = getDbConnection();
    var stmt = conn.createStatement();
    var sql = "SELECT * FROM DATA";
    var results = stmt.executeQuery(sql);
    var metaData = results.getMetaData();
    var numCols = metaData.getColumnCount();
   
    while (results.next()) {
        for (var col = 0; col < numCols; col++) {
            Logger.log(results.getString(col + 1));
        }
    }

    results.close();
    stmt.close();
}