반응형
여러 사람이 동시에 편집해서 사용할 수 있는 구글 스프레드시트에 데이터 베이스를 연동하면 접근성이 좋아짐.
단점은 스프레드시트의 appscript에서 각 함수가 실행 되는 시간을 max 30분으로 지정했는데
데이터의 양이 많아지면 time out으로 강제 종료 될 수 있음.
var connectionName = 'database_address:3306'; // 접속할 MySQL 서버의 IP와 Port(Default:3306)
var user = 'userID'; // MySQL 유저 ID
var userPwd = 'password'; // MySQL 유저 PW
var db = 'db_name'; // 접속할 MySQL DB명
var instanceUrl = 'jdbc:mysql://' + connectionName;
var dbUrl = instanceUrl + '/' + db + '?characterEncoding=UTF-8';
function exportDatabase() {
query="select * from table"
var start = new Date();
var conn = Jdbc.getConnection(dbUrl, user, userPwd); // DB 연결
var stmt = conn.createStatement();
stmt.setMaxRows(5000);
var results = stmt.executeQuery(query); // 쿼리
var metaData = results.getMetaData()
var numCols = metaData.getColumnCount();
var sheetname = SpreadsheetApp.getActive();
var sheet = sheetname.getSheetByName('sheet1');
sheet.clearContents();
var arr = [];
for (var col = 0; col < numCols; col++) {
arr.push(metaData.getColumnName(col + 1));
}
sheet.appendRow(arr); #write header
while (results.next()) {
arr=[];
for (var col = 0; col < numCols; col++) {
arr.push(results.getString(col + 1));
}
sheet.appendRow(arr); #write data line by line
}
var end = new Date();
Logger.log("Time spend : "+((end - start)/(1000*60) % 60).toFixed(3)+" min");
//sheet.autoResizeColumns(1, numCols+1);
results.close();
stmt.close();
}
반응형
'Data Science > database' 카테고리의 다른 글
DBMS와 NoSQL의 차이점과 최신 트렌드: LIMS 데이터베이스 구축에 적합한 선택은? (1) | 2024.10.28 |
---|---|
ISO 27001을 활용한 의료 데이터베이스 보호 및 데이터 관리 체계 구축 가이드 (0) | 2024.10.28 |
2023년과 2024년 개정 개인정보보호법에 따른 환자 데이터 보호와 정보 교환 방안 (3) | 2024.10.28 |
OMOP CDM이란? (0) | 2024.10.16 |