Oracle Wallet 으로 Oracle Cloud DB 접속
💬 오라클 클라우드에 데이터베이스생성
오라클 클라우드에 데이터 베이스 생성하는 post는 본 블로그의 검색 기능을 이용하여 확인할것
오라클 인스턴스 설치
Oracle Clinet 다운로드 : https://www.oracle.com/kr/database/technologies/instant-client/downloads.html
Instant Client for Microsoft Windows (x64) 다운로드
- 다운로드 받은 파일
- 23.8.0.25.04.zip 파일을 다운로드 받는다.
- 아래 디렉토리에 압축해제함
1
C:\expert\instantclient_23_8
node 로 접속하기
의존성 라이브러리 설치
1
npm install unzipper oracledb
db 내용을 읽어서 출력하는 코드 작성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42const fs = require('fs');
const path = require('path');
const unzipper = require('unzipper');
const oracledb = require('oracledb');
const os = require('os');
async function extractWallet(zipPath, extractTo) {
await fs.createReadStream(zipPath)
.pipe(unzipper.Extract({ path: extractTo }))
.promise();
}
async function run() {
const walletZip = path.join(__dirname, '../../../Wallet_goodsaem.zip');
const walletTmpDir = path.join(os.tmpdir(), 'oracle_wallet_tmp');
await extractWallet(walletZip, walletTmpDir);
// Oracle 클라이언트 초기화
oracledb.initOracleClient({ libDir: 'C:\\expert\\instantclient_23_8' }); // Windows 환경
process.env.TNS_ADMIN = walletTmpDir;
const connection = await oracledb.getConnection({
user: 'admin',
password: '',
connectString: 'xxxx_high'
});
const result = await connection.execute(`SELECT name, email FROM test`);
for (const row of result.rows) {
console.log('name : ' + row[0] +'\n');
console.log('email : ' + row[1]);
}
console.log('✅ 완료');
await connection.close();
}
run();아래와 같이 출력되면 정상