Sangil's blog

https://github.com/ChoiSangIl Admin

NODE JS ORACLE 연동 오류 (ORA-28547, ORA-12154) DEV / SERVER

2020-01-16 posted by sang12


NodeJs와 Oracle을 연동하기 위해 Github에서 Sample 소스를 Clone함. (https://github.com/oracle/node-oracledb)
테스트를 위해 dbconfig.js 파일을 수정하고  connect.js를 실행하면 아래의 오류를 뿜는다.. 

-오류 메세지

Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". 
See https://oracle.github.io/odpi/doc/installation.html#windows for help
Node-oracledb installation instructions: https://oracle.github.io/node-oracledb/INSTALL.html
You must have 64-bit Oracle client libraries in your PATH environment variable.

오류를 확인해보면 64-bit Oracle client 라이브러리를 설치하라고한다.!
(다운로드 주소 : https://www.oracle.com/database/technologies/instant-client/downloads.html )
이때 Instant Client for Microsoft Windows (x64) 를 클릭하고 Basic Package (instantclient-basic-windows.x64-19.5.0.0.0dbru.zip)를 설치 하자.

Basic Light Package를 설치 했다가.. ORA-28547 오류를 만났고 몇시간을 보낸건지..  꼭 Light버전이아니라 Basic버전으로받자! 문서에는 둘중에하나만 받으라고 되어있는데...

그리고 해당 압축 파일을 (C:\oracle\instantclient_19_3) 경로에 풀어준다. 그리고 환경변수에 Path에 해당 경로를 추가하고 실행해보면 정상적으로 Oracle과 연동되는 것을 확인 할 수 있다.

저는 C:\app\USER\product\instantclient_19_5 해당 경로로 압축을 해제했습니다..^^. 
그리고 다시 빌드 하니 만난 오류..  ORA-12154...

-오류 메세지(ORA-12154)

[Error: ORA-12154: TNS:could not resolve the connect identifier specified] {
  errorNum: 12154,
  offset: 0
}

해당 오류는 db 접속 정보인 connectString의 값이 잘못 됬을 경우가 큽니다. 저는 Tns 설정을 못찾는지 알고.. tnsnames.ora파일을 환경변수로 셋팅해주고 하는..삽질을..^^. 결국엔 connectString(db 연결정보)의 값이 잘못되어 있었습니다. 정상적으로 수정하니 db 접속이 똭.. ^^;

#NODE JS ORACLE ORA-28547 #NODE JS ORA-28547

RabbitMQ 406 오류(PRECONDITION_FAILED) DEV

2020-01-14 posted by sang12


Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'test3' in vhost '/': received 'false' but current is 'true'"

해당 오류가 나는 이유는 durable 속성이 rabbit mq에서 만들어진 queue속성과 맞지 않아서 나타남.
해결방법으로는 rabbit mq에 만들어진 durable 속성과 일치시켜 주면됨!

/*
 * queue가 없으면 만들어줌
 * durable : true -> queue 데이터를  rabbitmq가 재시작해도 가지고 있음(소비하기전까지)
*/
channel.assertQueue(queue, {
    durable: false
});

Docker Windows 10 오류 The system cannot find the file specified DEV / DOCKER

2020-01-10 posted by sang12


Windows10에서 Docker테스트를 환경을 셋팅하다가 만난 오류.. 몇시간 동안 삽질했따.. :(

-오류 내용
docker error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running. 

Windows환경에서 Docker를 테스트 해보기 위해서는 가상화 기술이 필요한듯하다. 그런데 Windows10 Home 버전 이하 에서는 Hyper-V라는 가상 머신을 지원을 안해줘서, toolbox installer를 이용해서 오라클 버추얼 박스를 이용해 가상화를 이용해야 한다. 그래서 설치방법이 2가지로 나뉜다 오라클 버추얼박스를 이용하는 설치방법과 Hyper-V를 이용하는 설치방법이다.(한가지로 만들어주지..). 나는 pro 버전에서 pro버전 아래버전 방법으로 설치를 했다가 오류가나서 지우고 다시 pro버전으로 설치를 하고 docker ps 명령어를 치니 위와 같은 오류가 발생했다.

해결방법으로는
Hyper-V관리자 프로그램에 들어가면 왼쪽 카테고리에 Hyper-V관리자 그 아래 컴퓨터 계정명이 뜰껀데 계정명을 클릭하면 거기에 DockerDesktopVM이 돌고 있는 것을 볼 수 있다. 이때 DockerDesktopVM을 클릭하고 오른쪽 버튼을 눌러 설정으로 들어간다. 그리고 네트워크 어댑터에서 가상 스위치를 Defaut로 변경하고 확인을 누르고나면 Docker가 정상적으로 동작..!

#Docker #Docker error