Node.js 파일에서 Oracle Cloud DB 에 접속하여 쿼리문을 실행시켜 볼 것이다
우선은 자신의 Oracle Cloud DB 에 접속하여 접속 가능한 IP 설정을 진행한다
high - 최고 성능, 가장 빠른 응답 속도로 수행되지만 실행할 수 있는 동시 SQL 문 수가 3개
medium - high 보다 동시에 많은 SQL 문을 수행할 수 있으나 high 에 비해서는 낮은 수준의 성능을 제공
low - 동시에 가장 많은 SQL 문을 수행하며 각 SQL 문 마다 최소로 작은 수준의 리소스를 제공
const oracledb = require('oracledb');
// Oracle Cloud 자율운영 데이터베이스 연결 정보
const dbConfig = {
user: 'admin',
password: 'Oracle1234567',
connectString: '!!!!Oracle DB의 접속 TLS 정보를 기입!!!!'
// connectString 에 TLS 에서 복사한 정보를 기입
};
async function run() {
let connection;
try {
// Oracle 데이터베이스에 연결
connection = await oracledb.getConnection(dbConfig);
// 연결 확인
console.log('Connected to database!');
// 여기에 쿼리 실행 또는 기타 작업 추가
// 예를 들어:
// const result = await connection.execute('SELECT * FROM my_table');
// console.log(result);
let result = await connection.execute("select * from test");
console.log("result : ", result);
} catch (err) {
console.error('Error connecting to database:', err);
} finally {
// 연결 닫기
if (connection) {
try {
await connection.close();
console.log('Connection closed.');
} catch (err) {
console.error('Error closing connection:', err);
}
}
}
}
run();
dbConfig 에서 connectString 부분에 복사한 oracleDB 의 TLS 주소를 넣어준다
테스트로 생성해둔 test 테이블의 결과를 출력했으며 응답은 다음과 같다.
지금은 배열 형식의 Object 를 사용하지만 key 로 값을 가져오는 Object 형식으로 변환하는 코드를 추가
const oracledb = require('oracledb');
oracledb.autoCommit = true;
// 쿼리문 작성 시 자동으로 커밋되는 기능 활성화
oracledb.outFormat = oracledb.OBJECT;
// 데이터 베이스로부터 데이터를 얻어올때 Object 자료형으로 가져온다
// 위 설정을 하면 [{}, {}, {}] 형식으로 들어오고
// 위 설정을 하지 않으면 [[], [], []] 형식으로 데이터가 들어온다
// 키와 값으로 사용하기 위해 해당 설정을 한다
// Oracle Cloud 자율운영 데이터베이스 연결 정보
const dbConfig = {
user: 'admin',
password: 'Oracle1234567',
connectString: '(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g72f610f5f11b4c_orcl_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))'
// connectString 에 TLS 에서 복사한 정보를 기입
};
async function run() {
let connection;
try {
// Oracle 데이터베이스에 연결
connection = await oracledb.getConnection(dbConfig);
// 연결 확인
console.log('Connected to database!');
// 여기에 쿼리 실행 또는 기타 작업 추가
// 예를 들어:
// const result = await connection.execute('SELECT * FROM my_table');
// console.log(result);
let result = await connection.execute("select * from test");
console.log("result : ", result);
} catch (err) {
console.error('Error connecting to database:', err);
} finally {
// 연결 닫기
if (connection) {
try {
await connection.close();
console.log('Connection closed.');
} catch (err) {
console.error('Error closing connection:', err);
}
}
}
}
run();
oracledb.autoCommit = true;
// 쿼리문 작성 시 자동으로 커밋되는 기능 활성화
oracledb.outFormat = oracledb.OBJECT;
// 데이터 베이스로부터 데이터를 얻어올때 Object 자료형으로 가져온다
// 위 설정을 하면 [{}, {}, {}] 형식으로 들어오고
// 위 설정을 하지 않으면 [[], [], []] 형식으로 데이터가 들어온다
// 키와 값으로 사용하기 위해 해당 설정을 한다
위 부분이 추가됐으며, 결과 값은 아래와 같다
이전에 DAO 를 사용하는 형식으로 사용될 때 db의 Config 파일만 고쳐주면 사용이 가능하다
DAO 를 사용해서 DB 에 접근하는 부분은 아래 링크 참조
728x90
'프로젝트' 카테고리의 다른 글
Oracle Cloud 속도 이슈 ( 해결 완료 ) (0) | 2024.04.16 |
---|---|
fetch() 를 사용했는데 응답 값을 받지 못한 이슈 ( 해결 완료 ) (1) | 2024.04.12 |
Oracle Cloud DB 접속 방법 (0) | 2024.04.05 |
[JAVA] 파일 입, 출력을 이용한 회원 관리 프로그램 (0) | 2024.03.03 |
[JAVA] 숫자 야구 (0) | 2024.02.19 |