Oracle driver를 통해 Nodejs로 원격 Oracle DB에 연결
안녕하세요. 원격 Oracle 테스트 DB에 연결하는 방법을 찾고 있는데 Java에 대한 경험이 없습니다.그래서 당신의 도움을 받을 수 있다면 영원히 감사할 것입니다.
연결하려는 원격 테스트 데이터베이스가 있고 이전 스타일 SID와 jdbc 연결되어 있습니다.다음 링크에 따라: https://github.com/oracle/node-oracledb/blob/master/doc/api.md#notjdbc, 다음과 같이 tnsnames.또는 연결을 넣을 파일을 만들어야 합니다.
tnsnames.ora:
appDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SID = ORCL)
)
)
그런 다음에 노드 server.js 파일에서 참조해야 합니다.
server.js:
const oracledb = require('oracledb');
oracledb.getConnection(
{
user : process.env.ORACLE_USER,
password : process.env.ORACLE_PASSWORD,
connectString : "appDB"
},
function(err, connection)
{
if (err) {
console.error(err.message);
return;
}
connection.execute(
"SELECT * " +
"FROM BOS_course",
function(err, result)
{
if (err) {
console.error(err.message);
doRelease(connection);
return;
}
console.log(result.rows);
doRelease(connection);
});
});
module.exports = {
oracledb
};
그런데 tnsnames.또는 파일을 어디에 넣어야 하는지 모르겠어요.이 링크를 온라인에서 찾았습니다.$ORACLE_HOME/network/admin
무슨 말인지는 모르겠지만요데이터베이스에 대한 접근이 제한되어 있습니다.자바를 몰라서 미안합니다.데이터베이스와 완전히 분리되어 사는 노드 앱에서 이 연결을 사용하려면 어떻게 해야 합니까?내 앱은 "appDB"가 무엇인지 어떻게 알고 tnsnames.or 파일에서 찾는 방법은 무엇입니까?
미리 감사드립니다!
connectString 변수에 전체 연결 주소 입력
{ user : process.env.ORACLE_USER, password : process.env.ORACLE_PASSWORD, connectString : "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))(CONNECT_DATA =(SID= ORCL)))" }
질문에 기술적으로 답하려면 환경 변수를 설정합니다.TNS_ADMIN
. 그러면 node-oracledb(그리고 Python cx_Oracle, PHP OCI8, Ruby ruby-oci8 등과 같은 다른 OCI 기반 언어 API)가 검색됩니다.$TNS_ADMIN/tnsnames.ora
.
Azure에 VM이 두 개 있는 경우와 유사한 경우가 있습니다.하나는 Oracle 12c DB용이고 다른 하나는 Oracle 클라이언트 측 라이브러리가 있는 nodejs 또는 acledb 패키지용입니다.원격 DB와 연결하기 위한 클라이언트 측의 연결 문자열입니다.
module.exports = {
user : process.env.NODE_ORACLEDB_USER || "hr",
password : process.env.NODE_ORACLEDB_PASSWORD || "welcome",
connectString : process.env.LOCAL || "myipaddress:1521/servicename",
};
언급URL : https://stackoverflow.com/questions/43645841/connecting-to-a-remote-oracle-db-with-nodejs-through-oracledb-driver
'programing' 카테고리의 다른 글
Docker MYSQL '[2002] 연결 거부' (0) | 2023.09.23 |
---|---|
JS/jQuery가 HTTP 요청 요청 헤더를 얻습니까? (0) | 2023.09.23 |
Java에서 문자열 XML 조각을 문서 노드로 변환 (0) | 2023.09.23 |
copy-item With Alternate Credentials (0) | 2023.09.18 |
(설명을 사용하지 않고) 소유하지 않은 오라클 테이블에서 칼럼 정보를 가져오는 방법? (0) | 2023.09.18 |