JDBC Connection. Dokumentację tej klasy znajdziesz
java.sql.Connection.
Metody
Szczegółowa dokumentacja
clearWarnings()
Dokumentację tej metody znajdziesz
java.sql.Connection#clearWarnings().
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
close()
Zwolnij bazę danych tego połączenia i wszystkie powiązane zasoby.
const conn = Jdbc.getConnection( 'jdbc:mysql://<host>:<port>/<instance>', 'user', 'password', ); conn.close();
Zobacz też
-
Connection.close()
commit()
Spowoduje to trwałe wprowadzenie wszystkich oczekujących zmian i zwolnienie blokad bazy danych utrzymywanych przez to urządzenie JdbcConnection.
const conn = Jdbc.getConnection( 'jdbc:mysql://<host>:<port>/<instance>', 'user', 'password', ); conn.setAutoCommit(false); const stmt = conn.prepareStatement( 'insert into person (lname,fname) values (?,?)', ); const start = new Date(); for (let i = 0; i < 5000; i++) { // Objects are accessed using 1-based indexing stmt.setObject(1, `firstName${i}`); stmt.setObject(2, `lastName${i}`); stmt.addBatch(); } const res = stmt.executeBatch(); conn.commit(); // When this returns, this is when changes are actually // committed conn.close();
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
Zobacz też
-
Connection.commit()
createArrayOf(typeName, elements)
Dokumentację tej metody znajdziesz
java.sql.Connection#createArrayOf(String, Object[]).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
type | String | Nazwa SQL specyficzna dla bazy danych, która określa typ elementów tablicy. Dostępne opcje to typy wbudowane, typy zdefiniowane przez użytkownika lub standardowa wersja SQL obsługiwana przez bazę danych. |
elements | Object[] | Elementy, które mają zostać wypełnione w zwróconym obiekcie. |
Powrót
JdbcArray – tablica, której elementy są mapowane na określony typ SQL.
createBlob()
Tworzy instancję JdbcBlob. Zobacz też
java.sql.Connection#createBlob().
Początkowo zwrócony obiekt nie zawiera żadnych danych. Możesz użyć metod setBytesJdbcBlob, aby określić, jakie dane ma zawierać. Użyty tu blob nie jest taki sam jak blob utworzony za pomocą Utilities.newBlob(data). Aby przekonwertować formaty, użyj zdefiniowanych metod getBytes() i setBytes().
JdbcBlob i JdbcClob udostępniają też wygodną metodę getAppsScriptBlob()
konwersji do formatu, którego można używać w Apps Script.
Powrót
JdbcBlob – pusty obiekt blob.
createClob()
Dokumentację tej metody znajdziesz
java.sql.Connection#createClob().
Powrót
JdbcClob – pusty obiekt CLOB.
createNClob()
Dokumentację tej metody znajdziesz
java.sql.Connection#createNClob().
Powrót
JdbcClob – pusty obiekt nclob.
createSQLXML()
Dokumentację tej metody znajdziesz
java.sql.Connection#createSQLXML().
Powrót
JdbcSQLXML – pusty obiekt SQLXML.
createStatement()
Tworzy obiekt JdbcStatement do wysyłania instrukcji SQL do bazy danych. Zobacz też
java.sql.Connection#createStatement().
// This sample code assumes authentication is off const conn = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>'); const stmt = conn.createStatement(); stmt.setMaxRows(100); const rs = stmt.execute('select * from person'); while (rs.next()) { // Do something } rs.close(); stmt.close(); conn.close();
Powrót
JdbcStatement – instancja instrukcji do wykonywania zapytań.
createStatement(resultSetType, resultSetConcurrency)
Tworzy obiekt JdbcStatement do wysyłania instrukcji SQL do bazy danych. Zobacz też
java.sql.Connection#createStatement(int, int).
Ta wersja umożliwia zastąpienie typu zestawu wyników i współbieżności.
// This sample code assumes authentication is off // For more information about this method, see documentation here: // http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#createStatement(int, // int) const conn = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>'); const stmt = conn.createStatement( Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.CONCUR_READ_ONLY, ); stmt.setMaxRows(100); const rs = stmt.execute('select * from person'); while (rs.next()) { // Do something } rs.close(); stmt.close(); conn.close();
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
Powrót
JdbcStatement – instancja instrukcji do wykonywania zapytań.
createStatement(resultSetType, resultSetConcurrency, resultSetHoldability)
Tworzy obiekt JdbcStatement do wysyłania instrukcji SQL do bazy danych. Zobacz też
java.sql.Connection#createStatement(int, int, int).
Ta wersja umożliwia zastąpienie typu zestawu wyników, współbieżności i możliwości wstrzymania.
// This sample code assumes authentication is off // For more information about this method, see documentation here: // http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#createStatement(int, // int) const conn = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>'); const stmt = conn.createStatement( Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.CONCUR_READ_ONLY, Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT, ); stmt.setMaxRows(100); const rs = stmt.execute('select * from person'); while (rs.next()) { // Do something } rs.close(); stmt.close(); conn.close();
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
result | Integer | Ustawienie dotyczące możliwości wstrzymania; może to być Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT lub Jdbc.ResultSet.CLOSE_CURSORS_AT_COMMIT. |
Powrót
JdbcStatement – instancja instrukcji do wykonywania zapytań.
createStruct(typeName, attributes)
Dokumentację tej metody znajdziesz
java.sql.Connection#createStruct(String, Object[]).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
type | String | Nazwa SQL specyficzna dla bazy danych, która określa typ elementów tablicy. Dostępne opcje to typy wbudowane, typy zdefiniowane przez użytkownika lub standardowa wersja SQL obsługiwana przez bazę danych. |
attributes | Object[] | Atrybuty, które wypełniają zwrócony obiekt. |
Powrót
JdbcStruct – obiekt struktury, który jest mapowany na podany typ SQL i wypełniany podanymi atrybutami.
getAutoCommit()
Dokumentację tej metody znajdziesz
java.sql.Connection#getAutoCommit().
Powrót
Boolean – true, jeśli w połączeniu włączony jest tryb automatycznego zatwierdzania; false w przeciwnym razie.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getCatalog()
lub dokumentację tej metody znajdziesz w
java.sql.Connection#getCatalog().
Powrót
String – bieżąca nazwa katalogu lub null, jeśli nie ustawiono nazwy.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getHoldability()
Dokumentację tej metody znajdziesz
java.sql.Connection#getHoldability().
Powrót
Integer – ustawienie możliwości wstrzymania połączenia: Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT lub Jdbc.ResultSet.CLOSE_CURSORS_AT_COMMIT.
getMetaData()
Dokumentację tej metody znajdziesz
java.sql.Connection#getMetaData().
Powrót
JdbcDatabaseMetaData – metadane bazy danych, z którą łączy się to połączenie.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getTransactionIsolation()
Dokumentację tej metody znajdziesz
java.sql.Connection#getTransactionIsolation().
Powrót
Integer – bieżący poziom transakcji, który może przyjmować jedną z tych wartości: Jdbc.Connection.TRANSACTION_READ_UNCOMMITTED, Jdbc.Connection.TRANSACTION_READ_COMMITTED, Jdbc.Connection.TRANSACTION_REPEATABLE_READ, Jdbc.Connection.TRANSACTION_SERIALIZABLE lub Jdbc.Connection.TRANSACTION_NONE.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getWarnings()
Dokumentację tej metody znajdziesz
java.sql.Connection#getWarnings().
Powrót
String[] – tablica ciągów ostrzeżeń.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
isClosed()
Dokumentację tej metody znajdziesz
java.sql.Connection#isClosed().
Powrót
Boolean – true, jeśli połączenie jest zamknięte; w przeciwnym razie false.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
isReadOnly()
Dokumentację tej metody znajdziesz
java.sql.Connection#isReadOnly().
Powrót
Boolean–true, jeśli połączenie jest tylko do odczytu; false w przeciwnym razie.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
isValid(timeout)
Dokumentację tej metody znajdziesz
java.sql.Connection#isValid(int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
timeout | Integer | Czas oczekiwania (w sekundach) na zakończenie operacji weryfikacji. Wartość 0 oznacza, że nie jest stosowany żaden limit czasu. |
Powrót
Boolean – true, jeśli połączenie jest prawidłowe; false w przeciwnym razie. Zwraca też wartość false, jeśli okres limitu czasu upłynie przed zakończeniem operacji.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
nativeSQL(sql)
Dokumentację tej metody znajdziesz
java.sql.Connection#nativeSQL(String).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 obiekt zastępczy „?”. |
Powrót
String – natywna forma podanego oświadczenia.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
prepareCall(sql)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareCall(String).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy „?”, zwykle podawana przy użyciu składni sekwencji ucieczki wywołania JDBC. |
Powrót
JdbcCallableStatement – wywoływalna instrukcja zawierająca wstępnie skompilowaną instrukcję SQL.
prepareCall(sql, resultSetType, resultSetConcurrency)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareCall(String, int, int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy „?”, zwykle podawana przy użyciu składni sekwencji ucieczki wywołania JDBC. |
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
Powrót
JdbcCallableStatement – wywoływalna instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która generuje zbiory wyników o podanym typie i współbieżności.
prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareCall(String, int, int, int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy „?”, zwykle podawana przy użyciu składni sekwencji ucieczki wywołania JDBC. |
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
result | Integer | Ustawienie dotyczące możliwości wstrzymania; może to być Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT lub Jdbc.ResultSet.CLOSE_CURSORS_AT_COMMIT. |
Powrót
JdbcCallableStatement – wywoływalna instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która generuje zestawy wyników o podanym typie i współbieżności.
prepareStatement(sql)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 obiekt zastępczy parametru wejściowego „?”. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL.
prepareStatement(sql, autoGeneratedKeys)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String, int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 obiekt zastępczy parametru wejściowego „?”. |
auto | Integer | Flaga wskazująca, czy zwracane są klucze wygenerowane automatycznie: Jdbc.Statement.RETURN_GENERATED_KEYS lub Jdbc.Statement.NO_GENERATED_KEYS. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która może zwracać automatycznie generowane klucze.
prepareStatement(sql, resultSetType, resultSetConcurrency)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String, int, int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy parametru wejściowego „?”. |
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która generuje zestawy wyników o podanym typie i równoczesności.
prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String, int, int, int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy parametru wejściowego „?”. |
result | Integer | Typ zbioru wyników: Jdbc.ResultSet.TYPE_FORWARD_ONLY, Jdbc.ResultSet.TYPE_SCROLL_INSENSITIVE lub Jdbc.ResultSet.TYPE_SCROLL_SENSITIVE. |
result | Integer | Typ waluty: Jdbc.ResultSet.CONCUR_READ_ONLY lub Jdbc.ResultSet.CONCUR_UPDATABLE. |
result | Integer | Ustawienie dotyczące możliwości wstrzymania; może to być Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT lub Jdbc.ResultSet.CLOSE_CURSORS_AT_COMMIT. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która generuje zbiory wyników o podanym typie, współbieżności i możliwości przechowywania.
prepareStatementByIndex(sql, indices)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String, int[]).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 obiekt zastępczy parametru wejściowego „?”. |
indices | Integer[] | Indeksy kolumn, które są zwracane z wstawionego wiersza lub wierszy. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która może zwracać automatycznie generowane klucze określone przez podane indeksy kolumn.
prepareStatementByName(sql, columnNames)
Dokumentację tej metody znajdziesz
java.sql.Connection#prepareStatement(String, String[]).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
sql | String | Instrukcja SQL, która może zawierać co najmniej 1 symbol zastępczy parametru wejściowego „?”. |
column | String[] | Nazwy kolumn, które określają, które kolumny metoda powinna zwrócić z wstawionego wiersza lub wierszy. |
Powrót
JdbcPreparedStatement – przygotowana instrukcja zawierająca wstępnie skompilowaną instrukcję SQL, która może zwracać automatycznie generowane klucze określone przez podane nazwy kolumn.
releaseSavepoint(savepoint)
Dokumentację tej metody znajdziesz
java.sql.Connection#releaseSavepoint(Savepoint).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
savepoint | Jdbc | Punkt zapisu do usunięcia. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
rollback()
Dokumentację tej metody znajdziesz
java.sql.Connection#rollback().
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
rollback(savepoint)
Dokumentację tej metody znajdziesz
java.sql.Connection#rollback(Savepoint).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
savepoint | Jdbc | Punkt zapisu, do którego należy wycofać zmiany. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setAutoCommit(autoCommit)
Dokumentację tej metody znajdziesz
java.sql.Connection#setAutoCommit(boolean).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
auto | Boolean | Jeśli true, tryb automatycznego zatwierdzania jest włączony; false wyłącza. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setCatalog(catalog)
Dokumentację tej metody znajdziesz
java.sql.Connection#setCatalog(String).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
catalog | String | Nazwa katalogu (przestrzeni w bazie danych połączenia), w którym chcesz pracować. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setHoldability(holdability)
Dokumentację tej metody znajdziesz
java.sql.Connection#setHoldability(int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
holdability | Integer | Domyślna trwałość obiektów Jdbc utworzonych za pomocą tego połączenia: Jdbc.ResultSet.HOLD_CURSORS_OVER_COMMIT lub Jdbc.ResultSet.CLOSE_CURSORS_AT_COMMIT. |
setReadOnly(readOnly)
Dokumentację tej metody znajdziesz
java.sql.Connection#setReadOnly(boolean).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
read | Boolean | Jeśli true, włączony jest tryb tylko do odczytu; false wyłącza. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setSavepoint()
Dokumentację tej metody znajdziesz
java.sql.Connection#setSavepoint().
Powrót
JdbcSavepoint – nowy, nienazwany punkt zapisu.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setSavepoint(name)
Dokumentację tej metody znajdziesz
java.sql.Connection#setSavepoint(String).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
name | String | Nazwa utworzonego punktu zapisu. |
Powrót
JdbcSavepoint – nowy nazwany punkt zapisu.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
setTransactionIsolation(level)
Dokumentację tej metody znajdziesz
java.sql.Connection#setTransactionIsolation(int).
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
level | Integer | Poziom transakcji do ustawienia, który może mieć jedną z tych wartości: Jdbc.Connection.TRANSACTION_READ_UNCOMMITTED, Jdbc.Connection.TRANSACTION_READ_COMMITTED, Jdbc.Connection.TRANSACTION_REPEATABLE_READ, Jdbc.Connection.TRANSACTION_SERIALIZABLE lub Jdbc.Connection.TRANSACTION_NONE. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request