얼마전에 DBeaver Community를 활용해서 NetSuite에 직접 연결하는 방법에 대해 포스팅했었는데요, 다른 프로젝트와 기타 업무때문에 여러 SQL 클라이이언트를 계속 알아보았습니다.


DBeaver의 가장 큰 장점은 아무래도 JDBC를 활용한 다양한 컨넥션을 지원한다는 것인데요, 사용하다보면 사실 좀 불편한 점도 있습니다. 제가 발견한 불편한점 딱 하나가 row 제한을 항상 설정해줘야 한다는 것입니다.


그래서 혹시 다른 SQL Client가 있지 않나 알아보다가 꽤 괜찮아보이는 클라이언트를 찾아내게 되었습니다. 바로 제목에서 알 수 있다시피 TeamSQL!


팀원간 query를 서로 공유할 수 있다는 것이 이 클라이언트의 메리트네요.


1) TeamSQL의 다운로드 사이트 https://teamsql.io/download 에 가셔서 다운로드 받습니다.

2) 다운로드 한 파일을 설치해줍니다

3) 설치 후 TeamSQL을 설치하면 아래와 같은 스크린이 나옵니다. 이메일과 이름, 패스워드 등을 입력하면 verification email을 받습니다.



4) 이제 DB에 연결할 차례네요. 왼쪽 상단에 Connections에서 + 아이콘을 눌러줍니다. TeamSQL의 약간 아쉬운 점은 시스템에 설치된 ODBC 등을 지원하지 않고 내장된 드라이버만을 사용해서 사용가능한 DB엔진에 제한이 있다는 점인데요... 다행스럽게도 이번 프로젝트는 AWS에 있는 PostgreSQL입니다.


5) 물론 DB 관련 정보를 입력하고 Test Connection 버튼을 클릭하면... 연결되었다는 메세지가 나옵니다. 이제부터 Query를 작성하여 작업을 할 시간입니다.


6) 팀원을 초대하기 위해서는 프로그램 좌측 하단의 파란 아이콘 > Teams 메뉴로 가서 일단 팀을 만들고, 초대할 팀원들의 이메일을 입력하면 됩니다.


아직 전문가가 아닌만큼 매우 기초적인 정보만 올려서 죄송스러운 마음도 있는데요, query 공유기능도 좋지만 제가 정말 마음에 들었던 기능은 바로 Extension 기능입니다. 좌측에서 가장 하단의 아이콘을 선택하면 확장기능들을 볼 수 있습니다.


AWS S3로 업로드 하는 기능도 있습니다.


심지어 테이블과 데이터를 사용해서 SQL 자체를 재생성(?)하는 기능도 있네요


조금 더 살펴보니 차트를 그리고 간단한 visualization까지 지원하는 기능이 있네요.



저보다 좀 더 전문성 있는 분들은 금방 이 툴을 유용하게 사용하실 수 있을 것 같네요. 나중에 사용해보시고 기타 기능이나 팁이 있으면 알려주세요!




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' 카테고리의 다른 글

DBeaver를 활용하여 넷스윗 ODBC 서버에 접속하기  (2) 2018.10.09
NetSuite 내의 CRM, 그리고 Lead Conversion  (0) 2017.05.24
4년... 그리고 NetSuite  (1) 2016.09.11
NetSuite 2015.1  (0) 2015.02.25
NetSuite 2014.1  (0) 2014.01.13

  • SM 2018.10.26 21:32

    안녕하세요?
    여긴 한국 입니다. 블로그에 넷스윗관련 내용이 있어서 보게되었습니다. 미국에 계신것 같은데 한글블로그가 인상적입니다.
    질문을 드려도 되는지 모르겠습니다. Suite Analysis Connect는 Netsuite기본 기능 외에 추가 구매해야하는 기능이 맞죠?

    • Favicon of https://jaem04.tistory.com BlogIcon j.aem04 2018.10.28 22:44 신고

      안녕하세요? 관심 및 댓글 감사합니다. 요즘 한국에서 넷스윗 user base가 조금씩 생기는 것 같아 개인적으로 반가워하고 있기는 합니다.

      문의해주신 SuiteAnalytics Connect 같은 경우, 추가구매를 하셔야하는 기능으로 바뀌었네요. 가격은 12개월에 6천불정도 하는 것 같은데, 더 자세한부분은 넷스윗측에 문의해보셔요~~



회사생활하는 나와 공부하는 와이프를 도와주시기 위해 장모님께서 머나먼 타국까지 와계셔서 시간이 날때마다 여기저기 모시고 다니려고 노력을 합니다.


물론 우리 딸내미는 어쩔땐 '할머니, 할머니' 하며 할머니만 찾지만, 또 어떤 때는 'No 할머니!'를 연발하며 terrible 2 의 폭풍변화를 실감나게 하네요...


그나저나 사설을 뒤로하고 짧은 주말동안 뭘 할까 하다가, 보스턴에서 1시간정도면 도착할 수 있는 Rockport에 가보기로 결정했습니다.


와이프가 그동안 사귄 동네 아줌마들하고 얘기하다가 Halibut Point라는 state park를 꼭 가보라고 해서 이곳을 먼저 방문!



가서보니 원래는 채석장이었던 곳을 국립공원화(?)시켜둔 곳인데, 트레일을 따라 바닷가로 가는 길에 채석장이었던 흔적이 여기저기 있습니다.



좀 뜬금없는 사진이지만 공원 유지비용 모금을 이런 기둥 하나 세워놓고 하길래 슬쩍 찍어봤습니다.



 인공호수라고 해야할지 자연호수라고 해야할지 모르지만 꽤 보기 좋더군요.



바닷가를 코앞에서 보니 시원하긴 합니다.


국립공원을 뒤로 하고 락포트 읍내(?)로 향했습니다. 어차피 작은 마을 수준이라 볼것이 크게 있지는 않고, 동네에 아기자기 있는 샵들을 둘러본 후에 Roy Moore Lobster에서 점심을 맛나게 먹습니다.




먹느라 바빠서 랍스타집에서는 사진을 못찍었지만 좀 더 걷다가 부두끝에서 발견한 Keep Off.... 저 사다리 타면 바다로 바로 들어가게 됩니다. 애들이 빠지진 않을까 지켜보느라 엄청난 스트레스가...;;




개인적으로 강추하는 디저트집입니다. 살찌는소리가 엄청 들리는...


짧게 가려면 얼마든지 짧게 가지만 길게 가려면 일주일씩도 머무를 수 있을 것 같은 조그마한 어촌, Rockport는 다음에 또 만나요~ 하면서 돌아왔네요. 아이가 좀 더 크면 친구들하고 짧게 주말여행 다녀오기 참 좋은 곳 같아요.