Empecé a trabajar en una hoja de cálculo de Google para rastrear mis entradas de blog y algunas otras métricas de seguimiento, ya que odio el trabajo repetitivo, así que me cansé de copiar, pegar y actualizar toda la información manualmente. Fue cuando descubrí que hay una manera de conectar directamente mi hoja de cálculo a la base de datos de mi instalación de WordPress y hacer algunas consultas para extraer automáticamente los datos que necesito. Todo esto es posible a través de Google App Scripts, una plataforma de scripting desarrollada por Google para el desarrollo de aplicaciones ligeras utilizando el lenguaje de desarrollo Javascript.

* Si está familiarizado con Excel, Apps Scripts es el VBA de Hojas de cálculo de Google.

Google App Scripts permite el acceso al conector JDBC, lo que nos permite conectar nuestra hoja de cálculo de Google a una base de datos MySQL (Hasta la versión 5.7), Microsoft SQL Server, Oracle o Google Cloud SQL.

Aprenderemos a conectarnos en nuestra base de datos, realizar consultas y mostrarlas en una amplia gama de celdas en nuestra hoja de cálculo. Si no conoces JavaScript o tienes poca familiaridad con el código, no te preocupes, siguiendo los pasos de este artículo podrás tener una función fácil y genérica para realizar consultas SQL sin tener que modificar casi nada.

Creación de la hoja de cálculo

Bueno, lo primero que tenemos que hacer es crear una nueva hoja de cálculo y abrir el editor de código de Google Apps Scripts:

Entonces vamos a tener un editor de código similar al siguiente:

Creación de scripts de aplicaciones para conectarse a la base de datos

Ahora vamos a copiar el código de ejemplo a nuestro archivo:

function getPosts () {
      / *
       * Datos de conexión
       *
       * Cambie los datos a continuación con sus datos de conexión
       * /
      var BANK = "mysql"; // Conector de banco
      var HOST = "0.0.0.0"; // IP (0.0.0.0) o HOST (tudominio.com)
      var DOOR = "3306"; // Puerto de conexión
      var BANCODEDADOS = "wordpress" // Base de datos deseada
      var USER = "usuario"; // Usuario
      var PASSWORD = "contraseña"; // Contraseña
      var ABA = "posts" // Tab para imprimir los resultados
     
      var start = new Date (); // Depurar, usémoslo para conocer el tiempo de ejecución del script
  
      // Hojas de cálculo de Google
      var doc = SpreadsheetApp.getActiveSpreadsheet (); // Devuelve la pestaña activa
      var posts = doc.getSheetByName (ABA); // Seleccionamos la pestaña para borrar los datos
      posts.clear (); // Borramos todos los datos
  
      var celda = doc.getRange ('a1'); // Insertaremos los datos de la primera celda

      // Creamos la conexión a la base de datos
  var conn = Jdbc.getConnection ("jdbc:" + BANK + ": //" + HOST + ":" + PORT + "/" + BANCODEDADOS, USER, PASSWORD);
      var stmt = conn.createStatement ();
      var rs = stmt.executeQuery ("SELECCIONAR * DE wp_posts LIMIT 10"); // Ejecutamos la consulta para buscar en nuestra base de datos
      
      var fila = 0;
      var getCount = rs.getMetaData (). getColumnCount (); // Contamos cuántas columnas devolvió la consulta
      
      para (var i = 0; i <getCount; i ++) {
         cell.offset (fila, i) .setValue (rs.getMetaData (). getColumnName (i + 1)); // Agregamos los nombres de las columnas
      }
      
      var fila = 1;
      while (rs.next ()) {
        para (var col = 0; col <rs.getMetaData (). getColumnCount (); col ++) {
          cell.offset (fila, col) .setValue (rs.getString (col + 1)); // Agregamos los datos por línea
        }
        fila ++;
      }
      
      rs.close ();
      stmt.close ();
      conn.close ();
      var end = nueva fecha ();
      Logger.log ('Tiempo de ejecución:' + (end.getTime () - start.getTime ())); // Generamos un registro de tiempo de ejecución
    }

Cambiar todas las variables indicadas al principio del script a la configuración de su conexión, recomiendo que en la variable HOST utilice la IP, porque Google App Script tiene algunos problemas con la resolución DNS que pueden dar un error de conexión falso en la base de datos.

Este script básicamente hace una conexión a la base de datos, en el ejemplo utilicé una base de datos de una instalación de WordPress, donde hago una simple selección, SELECT * FROM wp_posts LIMIT 10, donde me devuelve 10 mensajes (filas) de la tablawp_posts. Con el resultado hacemos un bucle para crear los encabezados y popular las líneas en la pestaña de mensajes, vea el resultado a continuación:

Conclusión

Este fue un ejemplo sencillo de cómo conectarse a la base de datos y ejecutar una consulta SQL, puede cambiar ese script y realizar cualquier consulta SQL. Esta integración le permite crear una herramienta poderosa, podemos extraer y actualizar automáticamente los datos de nuestros sistemas para el análisis, la generación de informes y mucho más!

0 0 voto
Nota do Artigo
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x