5

Cevabı derinlemesine kazandım ve cevabı burada ve Google'da bulmaya çalışıyorum ... umarım birisi yardımcı olabilir.Google E-Tablolarımı MySQL'e/JDBC'ye Bağlama

Ya bir Google E-Tablo komut dosyasından MySQL bağlanmak yapmak çalışıyorum burada bulunabilir:

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

:

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

Önce bu talimatları izleyerek sunucusu kurmak Bu hatayı alıyorum: "Veritabanı bağlantısı kurulamadı. Bağlantı dizgisini, kullanıcı adını ve parolayı kontrol edin. (Satır 2, dosya" Kod ")"

"

Hat 2 şuna benzer:

var conn = Jdbc.getConnection ("jdbc: mysql: //65.65.65.65: 3306/dbname", "kullanıcı", "password") Sonra

Ben JDBC'de bir hata olduğunu öğrenmek, ancak bunun nedeni Hostnames ve çözüm yerine IP kullanmaktır. Burada Google Apps Script - JDBC Connection Failed

ve: Zaten bu yüzden bu böcek buraya Söz

sanmıyorum IP kullanıyorum What is the root error behind "Failed to establish a database connection. Check connection string, username and password."

Onaylandı ve burada ayrıntılı: https://code.google.com/p/google-apps-script-issues/issues/detail?id=1856

..... ..şimdi sorunum yukarıda belirtilen hata ile olduğuna inanmıyorum. Mysql'in sadece SSH üzerinden erişilebilir olmasından kaynaklandığını düşünüyorum.

Eğer durum buysa, o zaman ben 'a inanıyorum İhtiyaç duyduğum kod, SSH üzerinden bağlanmak için kodumu değiştiriyor. Ya da belki yanılıyorum ve mysql yayınını keşfetmeye çalışmam gerek ... ama bu doğru gelmiyor.

Her türlü düşünceleriniz memnuniyetle karşılanır.

+1

. IP + bağlantı noktasına bağlanmak için telnet kullanın. (veya başka bir araç). – eddyparkinson

+0

Tamamen geri döndü: telnet 198.98.76.54 3306 198.98.76.54 ... Denemesi 65-65-65-65.static.cloud-ips.com'a bağlandı. Kaçış karakteri '^]' dir. _Host '77 -77-7-7-SFBA.hfc.comcastbusiness.net ', yabancı ana bilgisayar tarafından kapatılan bu MySQL serverConnection ürününe bağlanmasına izin verilmiyor. – lcm

cevap

4

Sigh ... Çözüm yüzümün önünde haklıydı. Google App Server IP'lerini vermem gerekiyordu. Ssh ve daha güvenli bağlanmak için daha fazla kod ekleyebileceğinize eminim ama bu şimdilik iyi.

Burada IP adresi aralığı şunlardır:

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 Bunu gönderdiğiniz için teşekkürler - "Google Uygulama Sunucusu IP'lerini nasıl" verdiğinize dair daha spesifik olabilir misiniz? Bu IP'leri yukarıdaki gibi girmeniz gereken yer neresidir? – ekta

+0

Muhtemelen MySQL veritabanının barındırıldığı sunucunun güvenlik duvarında. – IsmailS

0

Bunun bir güvenlik duvarı sorunu olduğunu biliyorum ancak başkalarının Google E-tablonuza veri çekebilen ücretsiz bir JDBC aracı istemesi durumunda paylaşıyorum. İçeriğinizi tek bir araçta sorguları oluşturabilir ve yenileyebilirsiniz.

Burada bulabilirsiniz. Mysql sunucunuza JDBC/ODBC aracılığıyla erişilebildiğini kontrol edebilirsiniz - örn., Google Spreadsheet JDBC Connector