2012-09-12 101 views
5

Quiero saber si existe, de momento, una forma de usar script de aplicaciones para conectarme a mi base de datos SQL de Google Cloud para insertar/recuperar registros o ejecutar consultas. He leído muchas publicaciones y parece que la única forma de acceder a DB Cloud SQL es usar el appengine.Acceso desde Apps Script a Google Cloud SQL

¿Alguien sabe una solución? Gracias

Respuesta

9

Sí, obviamente, es posible conectar secuencias de comandos de aplicaciones con Google Cloud SQL a través de JDBC.

conexión a la instancia de Google Cloud SQL de Google Apps Script: Google Apps Script tiene la capacidad de hacer conexiones a bases de datos a través de JDBC con el Servicio de JDBC.

Autorización: Para conectarse a una instancia, el usuario debe ser miembro del proyecto asociado de la Consola de API de Google. Opcionalmente, se puede especificar un nombre de usuario y una contraseña para aplicar permisos más detallados. Para obtener más información sobre el control de acceso, ver access control documentation

Acceso a Google Cloud SQL Bases de datos: podemos conectar a estas bases de datos en Apps Script, utilizando el método getCloudSqlConnection especial. Este método funciona de la misma manera que getConnection, pero solo acepta las cadenas de conexión de Google Cloud SQL.

var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name"); 

Una vez conectado, puede usar el mismo código que utilizaría para trabajar contra cualquier base de datos MySQL.

Escribiendo a una base de datos: Este código se inserte un registro en la tabla de base de datos en persona

function insert() { 
    var fname="First Name" 
    var lname="Last Name" 
    var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name"); 
    var stmt = conn.createStatement() 
    var query="insert into person(FNAME,LNAME) values('"+fname+"','"+lname+"')" 
    stmt.execute(query) 
    stmt.close() 
    conn.close() 
} 

lectura de una base de datos: Este código se lee de la base de datos.

function read() { 
    var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name"); 
    var stmt = conn.createStatement() 
    var query="select FNAME, LNAME from person" 
    var rs= stmt.executeQuery(query) 
    while(rs.next()){ 
    Logger.log("First Name : "+rs.getString(1)+" , "+"Last Name : "+rs.getString(2)) 
    } 
    rs.close() 
    stmt.close() 
    conn.close() 
} 
0

Creo que la única manera de conectarse a Google Cloud Sql DB es a través de AppEngine.

0

Ahora no hay ninguna solución para conectarse a un DB de Google Cloud SQL desde un GAS y no está claro cuándo se presentará. Here es un problema en el rastreador de problemas y here es una discusión sobre este tema en el Grupo de Google Cloud SQL.

1

Desde la consola de desarrolladores de Google, haga clic visión general bajar a la mitad de la página clic, cómo conectarse a la instancia de SQL nube y haga clic en el enlace. A continuación, seleccione Java para el idioma hacia abajo hasta que encuentre Conexión desde una red externa, encuentre su url.

que debería tener este aspecto:

url = "jdbc: mysql: // Your_Address user = root";

Si IPv4 si está activado (números en formato 000.000.000.00)

Copiar URL dejando fuera?user = root ";

pasta en >> var conn = Jdbc.getConnection (" jdbc: mysql: // Your_Address/

añadir/nombre_base_de_datos

y la línea de acabado de código debe ser algo como esto .

var conn = Jdbc.getConnection ("jdbc: mysql: // Your_Address/nombre_bd”, el usuario, userPwd);

dos cosas que hay que recordar

1: Un Haga que la ID de la red de script de la aplicación sea la primera

2: Cree una base de datos con anticipación para escribir desde Apps Script, hace la vida mucho más fácil.

Cuestiones relacionadas