5

Sto scavando in profondità per cercare di trovare la risposta qui e su Google ... speriamo che qualcuno possa aiutarti.Connessione di fogli di calcolo a MySQL con JDBC

Quello che sto cercando di fare è connettersi a MySQL da uno script di foglio di calcolo di Google ha trovato qui:

https://developers.google.com/apps-script/jdbc#reading_from_a_database

prima cosa impostare il server seguendo queste istruzioni:

https://help.ubuntu.com/community/JDBCAndMySQL

Viene visualizzato questo errore: "Impossibile stabilire una connessione al database. Verifica stringa di connessione, nome utente e password. (Riga 2, file" Codice ") Ignora"

Linea 2 è simile al seguente:

var conn = Jdbc.getConnection ("jdbc: mysql: //65.65.65.65: 3306/dbname", "user", "password")

Poi ho scopri che c'è un bug nel JDBC, ma è dovuto a Hostname e la soluzione è usare l'IP. Sono già usando l'IP in modo non credo che questo bug è

menzionato qui: Google Apps Script - JDBC Connection Failed

e qui: What is the root error behind "Failed to establish a database connection. Check connection string, username and password."

ribadito e precisato qui: https://code.google.com/p/google-apps-script-issues/issues/detail?id=1856

..... .. Ora non credo che il mio problema è con il bug di cui sopra. Penso che sia dovuto a mysql essere accessibile solo tramite SSH?

Se questo è il caso, allora quello che ho credo Ho bisogno di aiuto è modificare il mio codice per connettersi su SSH.

O forse ho sbagliato e ho bisogno di esplorare rendendo mysql pubblico ... ma questo non mi sembra giusto.

Qualsiasi e tutti i pensieri sono più che benvenuti.

+1

si può controllare il vostro server MySQL può accedere tramite JDBC/ODBC - per esempio utilizzare telnet per connettersi alla porta IP +. (o qualche altro strumento). – eddyparkinson

+0

ben Ok che ha restituito: telnet 198.98.76.54 3306 Cercando 198.98.76.54 ... Collegato al 65-65-65-65.static.cloud-ips.com. Il carattere di fuga è '^]'. _Host '77 -77-7-7-SFBA.hfc.comcastbusiness.net' non è permesso collegarsi a questo ServerConnection MySQL closed by foreign host. – lcm

risposta

4

Sigh ... La soluzione era proprio di fronte alla mia faccia. Avevo bisogno di concedere gli IP di Google App Server. Sono sicuro che potresti aggiungere altro codice per connetterti a ssh e questo è più sicuro, ma per ora va bene.

Ecco intervallo di indirizzi IP:

216.239.32.0 - 216.239.63.255 64.233.160.0 - 64.233.191.255 66.249.80.0 - 66.249.95.255 72.14.192.0 - 72.14.255.255 209.85.128.0 - 209.85.255.255 66.102.0.0 - 66.102.15.255 74.125.0.0 - 74.125.255.255 64.18.0.0 - 64.18.15.255 207.126.144.0 - 207.126.159.255 173.194.0.0 - 173.194.255.255

https://developers.google.com/apps-script/jdbc#accessing_local_databases

+0

@Icm grazie per questo distacco - Può essere più specifico come "concesso il Google App Server IP"? Dove devi inserire gli IP come sopra? – ekta

+0

Molto probabilmente nel firewall del server in cui è ospitato il database MySQL. – IsmailS

0

So che si trattava di un problema del firewall ma sto condividendo nel caso in cui altri volessero uno strumento JDBC gratuito in grado di inserire dati nel foglio di calcolo di Google. Puoi creare query e aggiornare i tuoi contenuti in un unico strumento.

Potete trovare qui. Google Spreadsheet JDBC Connector