2012-09-12 14 views
5

Voglio sapere se esiste, in questo momento, un modo di utilizzare lo script app per connettersi al mio database SQL di Google Cloud per inserire/recuperare record o eseguire query. Ho letto molti post e sembra che l'unico modo per accedere a DB Cloud SQL sia quello di utilizzare l'appengine.Accesso da Apps Script a Google Cloud SQL

Qualcuno conosce una soluzione? Grazie

risposta

9

Sì, è ovviamente possibile collegare lo script di app con Google Cloud SQL tramite JDBC.

Collegamento all'istanza Google Cloud SQL Da Google Apps Script: Google Apps Script ha la capacità di fare connessioni ai database tramite JDBC con il Servizio JDBC.

Autorizzazione: Per connettersi a un'istanza l'utente deve essere un membro del progetto Console API di Google associato. Facoltativamente, è possibile specificare un nome utente e una password per applicare autorizzazioni più dettagliate. Per ulteriori informazioni su controllo di accesso, vedi access control documentation

di accesso a Google Cloud Databases SQL: ci si può collegare a queste banche dati in Apps Script, utilizzando il metodo speciale getCloudSqlConnection. Questo metodo funziona allo stesso modo di getConnection, ma accetta solo stringhe di connessione di Google Cloud SQL.

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

Una volta connesso, è possibile utilizzare lo stesso codice che si utilizzerà per lavorare con qualsiasi database MySQL.

scrittura su un database: Questo codice inserire un record nella tabella di persona in banca dati

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() 
} 

lettura da un database: Questo codice leggere dal database.

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

Penso che l'unico modo per connettersi a Google Cloud Sql DB sia tramite AppEngine.

0

Ora non c'è alcuna soluzione per connettersi a un Google Cloud SQL di Google da un GAS e non è chiaro quando verrà introdotto. Here è un problema sul tracker di problemi e here è una discussione su questo problema nel gruppo SQL di Google Cloud.

1

Dalla console Google Developers, fare clic su Panoramica scendere al centro della pagina click, come connettersi all'istanza di SQL nuvola e clicca sul link. Quindi selezionare Java per la lingua andare giù fino a trovare Connessione da una rete esterna, trovare l'url.

dovrebbe assomigliare a questo:

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

Se IPv4 se abilitato (numeri in formato 000.000.000.00)

Copia URL lasciando fuori?user = root ";

pasta in >> var conn = Jdbc.getConnection (" jdbc: mysql: // your_address/

add/db_name

e la linea finito di codice dovrebbe essere simile a questo .

var conn = Jdbc.getConnection ("jdbc: mysql: // your_address/db_name”, utente, userPwd);

Due cose da ricordare

1: a prima l'ID della rete degli script dell'app prima

2: creare un database in anticipo per scrivere su Apps Script, rende la vita molto più semplice.

Problemi correlati