Wersje 1.0 i 1.1 protokołu zabezpieczeń TLS są wyłączone. Do nawiązywania połączeń używaj protokołu TLS 1.2 lub nowszego.
Google Apps Script może łączyć się z zewnętrznymi bazami danych za pomocą usługi JDBC, która jest otoczką standardowej technologii Java Database Connectivity. Usługa JDBC obsługuje bazy danych Google Cloud SQL for MySQL, MySQL, Microsoft SQL Server, Oracle i PostgreSQL.
Jeśli arkusz kalkulacyjny staje się zbyt duży lub występują problemy z przekroczeniem limitu czasu w przypadku złożonych obliczeń, przeniesienie danych do zewnętrznej bazy danych może znacznie poprawić wydajność i niezawodność.
Aby zaktualizować zewnętrzną bazę danych za pomocą JDBC, skrypt musi otworzyć połączenie z bazą danych, a następnie wprowadzić zmiany, wysyłając instrukcje SQL.
bazy danych Google Cloud SQL,
Google Cloud SQL umożliwia tworzenie relacyjnych baz danych w chmurze Google. Korzystanie z Cloud SQL może wiązać się z opłatami zależnymi od wykorzystania.
Utwórz instancję Google Cloud SQL, wykonując czynności opisane w krótkim wprowadzeniu do Cloud SQL.
Tworzenie połączeń z Google Cloud SQL
Połączenie z bazą danych Google Cloud SQL można nawiązać na 2 sposoby za pomocą usługi JDBC Apps Script:
- (Zalecane) Łączenie za pomocą funkcji Jdbc.getCloudSqlConnection
- Łączenie za pomocą funkcji Jdbc.getConnection
Obie metody są prawidłowe, ale druga wymaga autoryzacji zestawu zakresów adresów IP w celu uzyskania dostępu do bazy danych.
Użyj Jdbc.getCloudSqlConnection (zalecane)
Ta metoda tworzy połączenie z instancją MySQL w Google Cloud SQL za pomocą metody Jdbc.getCloudSqlConnection. Adres URL bazy danych ma postać jdbc:google:mysql://subname, gdzie subname to nazwa połączenia instancji MySQL podana na stronie Przegląd instancji Cloud SQL w konsoli Google Cloud.
Aby połączyć się z Cloud SQL SQL Server, zapoznaj się z artykułem Jdbc.getConnection.
Użyj Jdbc.getConnection.
Aby użyć tej metody, musisz autoryzować określone zakresy adresów IP w notacji CIDR, aby serwery Apps Script mogły łączyć się z Twoją bazą danych. Przed uruchomieniem skryptu wykonaj te czynności:
W instancji Google Cloud SQL autoryzuj zakresy adresów IP, po jednym z tego źródła danych.
Skopiuj adres URL przypisany do bazy danych. Powinien mieć format
jdbc:mysql:subname.
Po autoryzacji tych zakresów adresów IP utwórz połączenia z instancją Google Cloud SQL, korzystając z jednej z metod Jdbc.getConnection i skopiowanego wcześniej adresu URL.
Inne bazy danych
Jeśli masz już własną bazę danych MySQL, Microsoft SQL Server, Oracle lub PostgreSQL, połącz się z nią za pomocą usługi JDBC w Apps Script.
Tworzenie innych połączeń z bazą danych
Aby utworzyć połączenie z bazą danych za pomocą usługi JDBC Apps Script, musisz autoryzować zakresy adresów IP z tego źródła danych w ustawieniach bazy danych.
Usługa JDBC może łączyć się tylko z portami o numerze 1025 lub wyższym. Upewnij się, że baza danych nie jest obsługiwana na porcie o niższym numerze.
Gdy listy dozwolonych będą gotowe, utwórz połączenie z bazą danych, korzystając z jednej z metod Jdbc.getConnection i adresu URL bazy danych.
Przykładowy kod
Poniższy przykładowy kod zakłada, że łączysz się z bazą danych Google Cloud SQL, i tworzy połączenia z bazą danych za pomocą metody Jdbc.getCloudSqlConnection. W przypadku innych baz danych do tworzenia połączeń z bazą danych musisz użyć metody Jdbc.getConnection.
Więcej informacji o metodach JDBC znajdziesz w dokumentacji Javy dotyczącej JDBC.
Tworzenie bazy danych, użytkownika i tabeli
Większość programistów używa narzędzia wiersza poleceń MySQL do tworzenia baz danych, użytkowników i tabel. Jednak w Apps Script można zrobić to samo, jak pokazano w tym przykładzie. Utwórz co najmniej jednego innego użytkownika, aby skrypt nie musiał zawsze łączyć się z bazą danych jako root.
Zapisywanie w bazie danych
Poniższe przykłady pokazują, jak zapisać w bazie danych pojedynczy rekord oraz partię 500 rekordów. Grupowanie jest niezbędne w przypadku operacji zbiorczych.
Używane są instrukcje sparametryzowane, w których zmienne są oznaczane symbolem ?. Aby zapobiec atakom typu wstrzyknięcie kodu SQL, używaj instrukcji sparametryzowanych do zmiany znaczenia wszystkich danych dostarczonych przez użytkownika.
Odczytywanie z bazy danych
Ten przykład pokazuje, jak odczytać z bazy danych dużą liczbę rekordów, w razie potrzeby wykonując pętlę po zbiorze wyników.
Zamknij połączenia
Połączenia JDBC zamykają się automatycznie po zakończeniu wykonywania skryptu. (Pojedyncze wywołania google.script.run są liczone jako pełne wykonanie, nawet jeśli strona usługi HTML, która dokonała wywołania, pozostaje otwarta).
Jeśli jednak wiesz, że nie będziesz już korzystać z połączenia, instrukcji lub zbioru wyników przed zakończeniem skryptu, zamknij je ręcznie, wywołując JdbcConnection.close, JdbcStatement.close lub JdbcResultSet.close.
Wyświetlenie okna alertu lub okna z prośbą o potwierdzenie powoduje też zakończenie wszystkich otwartych połączeń JDBC. Jednak inne elementy interfejsu wyświetlania, takie jak niestandardowe menu lub okna dialogowe i paski boczne z niestandardową zawartością, nie są wyświetlane.
Google, Google Workspace oraz powiązane znaki i logotypy są znakami towarowymi firmy Google LLC. Wszystkie inne nazwy firm i produktów są znakami towarowymi należącymi do ich właścicieli.