5

Tôi đã đào sâu để thử và tìm câu trả lời ở đây và trên Google ... hy vọng ai đó có thể trợ giúp.Kết nối Bảng tính Google với MySQL w/JDBC

Những gì tôi đang cố gắng để làm là kết nối với MySQL từ một kịch bản Google Spreadsheet tìm thấy ở đây:

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

Trước tiên tôi thiết lập máy chủ theo các hướng dẫn:

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

Tôi nhận được lỗi này: "Không thể thiết lập kết nối cơ sở dữ liệu. Kiểm tra chuỗi kết nối, tên người dùng và mật khẩu. (Dòng 2, tệp" Mã ") Loại bỏ"

Dòng 2 trông như thế này:

var conn = Jdbc.getConnection ("jdbc: mysql: //65.65.65.65: 3306/dbname", "người sử dụng", "password")

Sau đó, tôi tìm ra rằng có một lỗi trong JDBC tuy nhiên đó là do Hostnames và giải pháp là sử dụng IP thay thế. Tôi đã sử dụng địa chỉ IP vì vậy tôi không nghĩ rằng lỗi này là

Đề cập ở đây: Google Apps Script - JDBC Connection Failed

và ở đây: What is the root error behind "Failed to establish a database connection. Check connection string, username and password."

Xác nhận và chi tiết ở đây: https://code.google.com/p/google-apps-script-issues/issues/detail?id=1856

..... ..tôi không tin rằng vấn đề của tôi là với lỗi được đề cập ở trên. Tôi nghĩ rằng nó do mysql chỉ có thể truy cập thông qua SSH?

Nếu trường hợp đó xảy ra thì tôi tin Tôi cần trợ giúp với việc sửa đổi mã của mình để kết nối qua SSH.

Hoặc có thể tôi đã sai và tôi cần khám phá việc tạo mysql công khai ... nhưng điều đó không cảm thấy đúng.

Mọi suy nghĩ đều được chào đón.

+1

bạn có thể kiểm tra máy chủ mysql của mình có thể truy cập được thông qua JDBC/ODBC - ví dụ: sử dụng telnet để kết nối với cổng IP +. (hoặc một số công cụ khác). – eddyparkinson

+0

Ok cũng đã trả lại: telnet 198.98.76.54 3306 Đang thử 198.98.76.54 ... Đã kết nối với 65-65-65-65.static.cloud-ips.com. Nhân vật thoát là '^]'. _Host '77 -77-7-7-SFBA.hfc.comcastbusiness.net 'không được phép kết nối với máy chủ MySQL này Kết nối được đóng bởi máy chủ nước ngoài. – lcm

Trả lời

4

Thở dài ... Giải pháp nằm ngay trước mặt tôi. Tôi cần cấp các IP máy chủ ứng dụng của Google. Im chắc chắn bạn có thể thêm nhiều mã hơn để kết nối qua ssh và an toàn hơn nhưng điều này là tốt cho bây giờ.

Dưới đây là IP dải địa chỉ:

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 cảm ơn bạn đã đăng bài này - Bạn có thể cụ thể hơn cách bạn "cấp IP máy chủ ứng dụng Google" không? Bạn cần chìa khóa ở đâu của IP như trên? – ekta

+0

Có lẽ hầu hết trong tường lửa của máy chủ nơi lưu trữ cơ sở dữ liệu MySQL. – IsmailS

0

Tôi biết đây là sự cố tường lửa nhưng tôi chia sẻ trong trường hợp người khác muốn có công cụ JDBC miễn phí có thể lấy dữ liệu vào Bảng tính Google của bạn. Bạn có thể tạo truy vấn và làm mới nội dung của bạn tất cả trong một công cụ.

Bạn có thể tìm thấy ở đây. Google Spreadsheet JDBC Connector

Các vấn đề liên quan