본문 바로가기

:: 서툰 정보 ::/NetSuite

DBeaver를 활용하여 넷스윗 ODBC 서버에 접속하기

100% 넷스윗만 쓰는 회사라면 크게 상관이 없겠지만... 아무래도 여러 애플리케이션을 쓰는 회사에서 일하다보면 이래저래 잡다한 툴을 많이 사용하게 됩니다. 가끔씩 데이터 웨어하우징 프로젝트를 도와주게 되는데 예전에는 API를 통하여 데이터를 추출했다면 새로 ODBC와 SQL을 사용해서 데이터를 추출하는 방법을 테스팅하고 있습니다.


이유인즉슨 넷스윗의 web service concurrency 제한때문인데요, ODBC는 다행히 그 제한한도에 포함되지 않는 것 같네요.


전에 있던 회사는 아무래도 대기업이고, 개발자들도 있고, 이래저래 서버와 기타 툴이 많았지만 이 회사에선 사실 그런 리소스가 없으니 맨땅은 아니더라도 헤딩하는 마음가짐으로 직접 뛰어들어야지요 뭐ㅠ


일단 당연히 알고 있는 MS SQL Server Management Studio와 Oracle SQL Client를 시도해봅니다. 그런데 왜 다른 데이터소스로 연결을 못하는거지? 일단 자기네 db가 아닌 이상 넷스윗 odbc  서버에 접속하기가 좀 힘드네요.


그래서 멀티플랫폼 SQL 클라이언트를 찾아나서기에 이릅니다. 약 2시간정도 이것저것 받아보고 해보고 했는데 우연히 "DBeaver" 라는 툴을 발견하게 되었습니다.


수많은 시행착오 끝에 결국 접속해서 데이터 추출을 할 수 있었기에, 혹시나 저같은 분들이 있을까봐 일단 글로 남기기로 했지요. 저는 회사에서 맥북을 쓰기에 MacOS 기반으로 스크린샷도 찍고 그랬는데 윈도우 버젼이 필요하다면 댓글로 알려주세요!


1) DBeaver Community 를 받아서 설치해주세요. https://dbeaver.io/


2) 넷스윗에서 SuiteAnalytics Connect 를 받아서 압축을 풀어줍니다 (MacOS용은 ODBC는 없고 그냥 JDBC만 압축해서 배포합니다). 


3) DBeaver Community 를 실행합니다. 위 2)번에서 다운로드한 JDBC 드라이버를 등록해야합니다. Database > Driver Manager 메뉴에서 New를 클릭합니다.


4) 이름과 설명 등을 입력하고 Class Name을 다음과 같이 입력합니다. com.netsuite.jdbc.openaccess.OpenAccessDriver   URL Template 과 포트는 빈칸으로 놔두셔도 되고 아니면 밑에서 설명할 JDBC URL을 입력하셔도 됩니다.  "Add File"을 클릭하신 후 2)번에서 받은 NQjc.jar 파일을 선택해주세요.




5) 드라이버가 추가되었다면 이제 Driver Manager 창은 닫으셔도 됩니다. 이제 새로운 db 컨넥션을 생성해야 할 차례네요. New Connection 아이콘을 클릭하시거나 Database > New Connection 메뉴로 들어가셔서 위 4)번에서 생성한 드라이버를 선택해 주세요.


6) 넷스윗 ODBC 서버의 JDBC URL을 입력해야 할 차례입니다. 밑의 URL을 복사해서 붙여주세요. {accountId}와 {roleId}는 Set Up SuiteAnalytics Connect 화면에서 보이는 계정정보를 입력하시면 됩니다.


jdbc:ns://odbcserver.na1.netsuite.com:1708;ServerDataSource=NetSuite.com;encrypted=1;Ciphersuites=TLS_RSA_WITH_AES_128_CBC_SHA;CustomProperties=(AccountID={accountId};RoleID={roleId})




7) Test connection 버튼을 클릭하시면 다음과 같이 Connected 되었다는 문구가 뜹니다.


이 가이드는 MacOS와 DBeaver Community를 사용해서 작성되었지만, 물론 다른 툴에서도 UI만 다를 뿐, 똑같은 정보를 입력하시면 됩니다.



':: 서툰 정보 :: > NetSuite' 카테고리의 다른 글

NetSuite 내의 CRM, 그리고 Lead Conversion  (0) 2017.05.25
4년... 그리고 NetSuite  (1) 2016.09.12
NetSuite 2015.1  (0) 2015.02.26
NetSuite 2014.1  (0) 2014.01.14