Google Apps Script의 JDBC에서 시간 초과가 자주 발생하는 방법
4976 단어 GoogleAppsScriptJDBC
Google Apps Script에서 Azure SQL Server에 연결
GAS 사용한다면 GCP SQL 사용하면 좋을 것이라고 생각하면서 Azure SQL Server를 준비. Google에서 문서를 공개했으므로 이를 참고로 Azure SQL Server 방화벽 설정, 연결 테스트 등을 수행했습니다.
이 때의 설정은 아래의 화면과 같습니다.
최소 TLS 버젼의 설정입니다만, 「>1.2」로 해 보았더니 연결되지 않고, 「>1.0」으로 한 바 연결되었습니다. 혹시 GAS의 JDBC의 TLS는 1.0일지도 모릅니다.
연결 정책이지만 VPN을 통해 연결하려고 하면 프록시에 지정해야 하는 것 같습니다. 속도적으로는 리디렉션이 빠르다고 합니다만, VPN으로 DB의 조작이 필요했기 때문에, 프록시로 하고 있습니다.
Azure SQL Server 보안 설정
Azure SQL Server에서 아래 IP 주소에 연결 권한을 설정합니다.
IP 범위가 너무 넓어서 깜짝 놀라지 만 GAS에서 사용하는 것 같습니다.
허용할 포트64.18.0.0/20
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
173.194.0.0/16
207.126.144.0/20
209.85.128.0/17
216.239.32.0/19
이것으로 설정이 완료되었습니다. 데이터베이스 연결 문자열, 사용자 이름 및 암호를 사용하여 연결합니다.
샘플 코드
function test() {
var r = [];
try {
var connectionString = "";//接続文字列
var dbuser = "";//データベースのユーザ名
var dbuserPwd = "";//パスワード
// JDBCでデータベースへのコネクション確立
var conn = Jdbc.getConnection(connectionString, dbuser, dbuserPwd);
var stmt = conn.prepareStatement("SELECT * FROM SAMPLETABLE");
stmt.setString(1, arg.uuid);
var result = stmt.executeQuery();
while (result.next()) {
var s = {};
s['ID'] = result.getString('ID');
s['NAME'] = result.getString('NAME');
r.push(s);
}
catch{
}
finally{
}
return JSON.stringify(r);
}
안전하게 연결할 수 있으면 성공입니다.
Reference
이 문제에 관하여(Google Apps Script의 JDBC에서 시간 초과가 자주 발생하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tnishiki/items/17a3e6e36fb4d2a11252
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Azure SQL Server에서 아래 IP 주소에 연결 권한을 설정합니다.
IP 범위가 너무 넓어서 깜짝 놀라지 만 GAS에서 사용하는 것 같습니다.
허용할 포트
64.18.0.0/20
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
173.194.0.0/16
207.126.144.0/20
209.85.128.0/17
216.239.32.0/19
이것으로 설정이 완료되었습니다. 데이터베이스 연결 문자열, 사용자 이름 및 암호를 사용하여 연결합니다.
샘플 코드
function test() {
var r = [];
try {
var connectionString = "";//接続文字列
var dbuser = "";//データベースのユーザ名
var dbuserPwd = "";//パスワード
// JDBCでデータベースへのコネクション確立
var conn = Jdbc.getConnection(connectionString, dbuser, dbuserPwd);
var stmt = conn.prepareStatement("SELECT * FROM SAMPLETABLE");
stmt.setString(1, arg.uuid);
var result = stmt.executeQuery();
while (result.next()) {
var s = {};
s['ID'] = result.getString('ID');
s['NAME'] = result.getString('NAME');
r.push(s);
}
catch{
}
finally{
}
return JSON.stringify(r);
}
안전하게 연결할 수 있으면 성공입니다.
Reference
이 문제에 관하여(Google Apps Script의 JDBC에서 시간 초과가 자주 발생하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tnishiki/items/17a3e6e36fb4d2a11252텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)