반응형
mssql 의 데이터를 가져와 Google Sheets에 데이터를 뿌려 줘 본다.
해당 Google Sheets의 데이터들의 내용을 주기적으로 MSSQL 데이터와 sync를 맟추고 싶다.
이를 해결하기 위해, Apps Script에서 제공하는 Trigger 중 Time-driven 을 이용한다.
일단 MSSQL의 데이터를 해당 sheet에 뿌려준다.
const address = 'mssql ip address';
const port = 'mssql port';
const user = 'mssql user';
const userPwd = 'mssql password';
const db = 'mssql database';
const dbUrl = `jdbc:sqlserver://${address}:${port};databaseName=${db}`;
function readAndBindingMssqlData () {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var start = new Date();
var stmt = conn.createStatement();
stmt.setMaxRows(1000);
var results = stmt.executeQuery('SELECT Dept, [Last Name], [First Name], [Job Title] FROM dbo.user_data');
var numCols = results.getMetaData().getColumnCount();
var rows = new Array();
while (results.next()) {
var arr1 = new Array(numCols);
for (var col = 0; col < numCols; col++) {
arr1[col] = results.getString(col + 1);
}
rows.push(arr1);
}
results.close();
stmt.close();
Logger.log(rows);
const mySheetUrl = "https://docs.google.com/spreadsheets/d/mysheetid/edit";
const sheetName = "sample";
const sheet = SpreadsheetApp.openByUrl(mySheetUrl).getSheetByName(sheetName);
sheet.getRange(1, 1, rows.length, numCols).setValues(rows);
var end = new Date();
Logger.log('Time elapsed: %sms', end - start);
}
이제 Apps Script의 Triggers 메뉴로 이동한다.
[Add Trigger] 버튼을 눌러, Trigger를 추가한다.
- Choose which function to run : 실행 할 함수 선택
- Choose which deployment should run : 실행 할 배포 선택 (head)
- Select event source : Time-driven 선택
- Select type of time based trigger : 실행 유형 선택 (특정 시간, 특정 주기)
- Select hour interval : 위의 실행 유형에 따른, 시간 간격 선택.
주기적인 데이터 sync를 위해, 1분 단위로 데이터를 가져왔다.
저장하면,
Triggers 화면에서 등록한 Trigger를 확인 할 수 있다.
Executions 화면에 들어가면, 생성한 Trigger가 정상적으로 실행되었는지 확인 할 수 있다.
실행결과 화면
반응형
'GCP > Apps Script' 카테고리의 다른 글
Apps Script로 Google Sheets에서 Dropdown의 multi select(다중선택) 구현 (0) | 2023.01.02 |
---|---|
Apps Script로 공공데이터 포털 openAPI 데이터를 매일 Telegram으로 받기 (0) | 2022.12.29 |
관리용 Apps Script로 여러개의 Google Sheets 템플릿 관리하기 (0) | 2022.12.21 |
Apps Script로 Google Sheets에서 보고서 양식의 조회저장 기능 구현 (0) | 2022.10.11 |
Apps Script로 JDBC를 이용해 Oracle 데이터 가져오기 (0) | 2022.09.19 |