2012-09-12 14 views
5

Chcę wiedzieć, czy jest teraz, w jaki sposób za pomocą skryptu aplikacji połączyć się z moją bazą danych Google Cloud SQL DB, aby wstawić/pobrać rekordy lub wykonać zapytanie. Przeczytałem wiele postów i wydaje mi się, że jedynym sposobem na uzyskanie dostępu do DB Cloud SQL jest użycie appengine.Dostęp ze skryptu aplikacji do Google Cloud SQL

Ktoś zna rozwiązanie? Dziękujemy

Odpowiedz

9

Tak, oczywiście jest możliwe połączenie skryptu aplikacji z Google Cloud SQL za pośrednictwem JDBC.

Połączenie przykład Google Cloud SQL z Google Apps Script: Google Apps Script posiada zdolność do wykonania połączeń do baz danych za pomocą JDBC z Serwisu JDBC.

Autoryzacja: Aby połączyć się z wystąpieniem, użytkownik musi być członkiem powiązanego projektu konsoli Google API. Opcjonalnie można podać nazwę użytkownika i hasło, aby zastosować bardziej szczegółowe uprawnienia. Aby dowiedzieć się więcej na temat kontroli dostępu, zobacz access control documentation

Dostęp do Google Cloud SQL Bazy danych: Możemy podłączyć do tych baz danych w aplikacjach Script metodą specjalną getCloudSqlConnection. Ta metoda działa tak samo, jak getConnection, ale akceptuje tylko ciągi połączeń Google Cloud SQL.

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

Po podłączeniu można użyć tego samego kodu, którego użyje się do pracy z dowolną bazą danych MySQL.

Zapis do bazy danych: Kod ten będzie wstawić rekord w tabeli osoby w bazie

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

odczyt z bazy danych: Ten kod jest odczytywany z bazy danych.

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

Myślę, że jedynym sposobem na połączenie się z Google Cloud Sql DB jest AppEngine.

0

Obecnie nie ma żadnego rozwiązania umożliwiającego połączenie z bazą danych Google Cloud SQL DB z GAZu i nie jest jasne, kiedy zostanie ona wprowadzona. Here to problem związany z trackerem problemów, a here to dyskusja na temat tego problemu w grupie Google Cloud SQL.

1

z konsoli Google Developers, kliknij Przegląd zejść na środku strony kliknięcia, jak podłączyć do cloud instancji SQL i kliknij link. Następnie wybierz język Java dla danego języka, aż znajdziesz pozycję Łączenie z sieci zewnętrznej, znajdź adres URL.

powinno to wyglądać tak:

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

Jeśli IPv4 jeśli włączona (dane w formacie 000.000.000.00)

Kopiuj URL pozostawiając na zewnątrz?user = root ";

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

add/db_name

i wykończone linia kodu powinna wyglądać mniej więcej tak .

var conn = Jdbc.getConnection ("jdbc: mysql: // your_address/db_name”, użytkownik, HasłoUżytkownika);

Dwie rzeczy do zapamiętania

1: Przed pierwszym identyfikatorem sieci skryptów aplikacji należy najpierw uzyskać ID ID:

2: Stwórz bazę danych z wyprzedzeniem, aby pisać do aplikacji za pomocą Apps Script, co znacznie ułatwia życie.

Powiązane problemy