1. NodeJS 설치
기준)NodeJS Version 0.12.0-x64
https://nodejs.org/en/download/ 에서 64 비트용 버전 0.12.0- 64bit
주의) 버전의 맞춤이 중요 (최신버전 4.0 기준으로 설치가 잘 안됨)
2. 오라클용 인스턴스 DLL, SDK 설치
기준) 오라클 12.1.0.2 64bit용
instantclient_basic-windows.x64-12.1.0.2.0.zip
instantclient_sdk-windows.x64-12.1.0.2.0.zip
2.1 버전에 맞는 실행가능 DLL, SDK 각 2개의 압축파일을 다운로드
다운로드 받은 파일을 같은 폴더에 압축해제
ex) C:\oracle\instantclient
2.2 압축해제 한 디렉토리에 윈도우즈 환경변수에 PATH 설정
제어판 -> 시스템 및 보안->시스템->고급시스템설정->환경변수 PATH에 추가
3. 파이선 설치
기준) Python 2.7.10 MSI 64Bit
– Download Windows x86-64 MSI installer 를 다운받아서 설치
– 설치된곳을 환경변수 PATH에 등록
4. 비주얼 스튜디오 개발 커멘드창에 환경변수 설정
기준) Visual Studion 2013
2.1 도스창에서 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat 실행
2.2 도스창에서 각 set 설정을 실행
set OCI_LIB_DIR=C:\oracle\instantclient_12_1\sdk\lib\msvc
set OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include
5. NodeJS 의 npm을 이용하여 node-oracledb를 설치
npm install oracledb
6. 설치테스트
node test.js
module.exports = {
user : process.env.NODE_ORACLEDB_USER || "db아이디",
password : process.env.NODE_ORACLEDB_PASSWORD || "db패스워드",
connectString : process.env.NODE_ORACLEDB_CONNECTIONSTRING || "db아이피/dbSID",
externalAuth : process.env.NODE_ORACLEDB_EXTERNALAUTH ? true : false
};
var oracledb = require('oracledb');
var dbConfig = require('./dbconfig.js');
oracledb.getConnection(
{
user : dbConfig.user,
password : dbConfig.password,
connectString : dbConfig.connectString
},
function(err, connection)
{
if (err) {
console.error(err.message);
return;
}
connection.execute(
"select issue_yymm, epc_code, remark, tag_location_seq, reg_date from tag_issue WHERE rownum < :did",
[50],
function(err, result)
{
if (err) {
console.error(err.message);
doRelease(connection);
return;
}
console.log(result.metaData);
console.log(result.rows);
doRelease(connection);
});
});
function doRelease(connection)
{
connection.release(
function(err) {
if (err) {
console.error(err.message);
}
});
}
참고싸이트
--NodeJS Home
https://nodejs.org
--파이선 Home
https://www.python.org/
-- 오라클 Instant Client Downloads
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
-- 오라클 NodeJs 디벨로퍼 센터
http://www.oracle.com/technetwork/database/database-technologies/node_js/oracle-node-js-2399407.html
-- 오라클 npm oracledb 홈
https://www.npmjs.com/package/oracledb
-- node-oracledb 예제
https://github.com/oracle/node-oracledb/tree/master/examples