NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 6
  • 매뉴얼

    NGM 6

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 외부 API - 데이타베이스 - 테이블 반복. (External API, Database, Repeat table)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은, 데이타베이스에서 가져온 데이타 테이블의 값을 반복하면서 가져오는 방법에 대해 알아보도록 하겠습니다. 단순히 데이타 반복뿐만 아니라 데이타를 다른 값과 비교하여 처리를 분기할수도 있습니다. 또는, ETL(Extract Transform Load)이라고 하는 업무도 가능합니다. 전문적인 ETL 프로그램을 사용해도 되지만, 개인 또는 중소기업에서 사용하기에는 라이센스가 너무 비싸죠^^; 자~ 이 예제를 테스트하기 위해 엔지엠 에디터를 실행하고 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    데이타베이스는 있다는 가정하에 예제를 진행하겠습니다. 회사에서 사용하는 데이타베이스에 연결하거나 로컬에 데이타베이스를 설치해야 이 예제를 따라할 수 있습니다. 이번에는 PostgreSQL 데이타베이스를 사용합니다. 연결 문자열을 만드는 방법은 아래 링크에서 확인할 수 있습니다.

    데이타베이스 연결을 위한 속성 정리 ]

     

    우측 하단의 외부 API 탭을 선택하고, 데이타베이스 카테고리를 확장하세요. 아래 그림과 같이 [ 연결 ] 액션을 스크립트에 추가합니다.

    jY3h9qA.png

     

     

    PostgreSQL의 연결 속성은 아래와 같습니다. 설정 정보들은 회사 IT팀 또는 인프라팀에 문의해야 할거 같구요. 로컬 테스트라면 데이타베이스 연결 정보에 맞게 입력하시면 됩니다.

    • 공급자: N/A
    • 데이타 소스: localhost,1433 or Server IP, Database Port
    • 초기 카탈로그: 데이타베이스 이름
    • 사용자 아이디: 데이타베이스 사용자 계정 아이디
    • 비밀번호: 데이타베이스 사용자 계정 비밀번호

    fvQU4Ro.png

     

     

    에디터가 실행될 때 항상 데이타베이스에 자동으로 연결하려면, 에디터의 옵션에서 데이타베이스를 설정하고 저장하면 됩니다.

    C86WvQa.png

     

     

    데이타베이스는 연결했으므로, 데이타가 들어있는 테이블을 가져와야 합니다. 이 방법은 여러가지가 있는데요. 오늘은 쿼리(Query, 질의)를 통해 가져오도록 하겠습니다. 아래 그림과 같이 [ 실행 ] 액션을 더블클릭하거나 드래그로 스크립트에 추가하세요.

    Hp4YTo7.png

     

     

    아마 이 글을 보시는 분은 쿼리 작성법은 이미 알고 계실겁니다. SQL에 대한 설명은 아니므로, 데이타가 들어 있는 테이블을 가져오는 쿼리를 작성해서 아래 그림과 같이 입력하세요.

    R6gx2JG.png

     

     

    스크립트를 실행하면, PostgreSQL 데이타베이스에 연결되고, 쿼리에 의해 데이타 테이블을 가져옵니다. 속성에서 결과 데이타를 클릭하면, 데이타 시각화 도구를 통해 가져온 데이타를 확인할 수 있습니다. 질의문에 조건이 추가되어 있어서 하나의 행만 가져올 수 있었습니다. 여러분들은 쿼리에 따라 하나 또는 여러개의 데이타가 나올 수 있습니다. 물론, 데이타가 없으면 안나올수도 있습니다.

    teeKHGy.png

     

     

    변수를 하나 추가하고, 결과 데이타를 [ 변수 ]에 저장하세요.

    6fLWbM0.png

     

     

    데이타양이 많기 때문에 정상적으로 가져오는지 확인하기 위해 메모장에 입력하는것까지 테스트 할께요. 메모장에 데이타베이스로부터 가져온 데이타를 쓰기 위해 클릭을 먼저 해두어야 합니다. 그래서, 아래 그림과 같이 [ 마우스 클릭 ] 액션을 추가하고 메모장을 클릭할 수 있도록 좌표를 설정 해주세요.

    OcL1rMp.png

     

     

    테이블 반복 액션을 추가하세요. 이 액션은 데이타 테이블의 모든 데이타를 행으로 반복하는 액션입니다.

    8IPO8Gv.png

     

     

    이 안에 컬럼 읽기 액션과 [ 텍스트 쓰기 ], [ 키보드 입력 ]도 추가 해주세요. 텍스트 쓰기는 변수로부터 컬럼 읽기에서 저장한 값을 가져와야 합니다.

    eBaQnj0.png

     

     

    키보드 입력은 줄바꿈을 위해 추가한 액션입니다. 그래서, 키코드를 리턴(엔터)을 선택해주면 됩니다.

    dU2mfsz.png

     

     

    스크립트를 저장하고, 실행 해보세요. 아래 동영상과 같이 가져온 데이타의 첫번째 열의 모든 데이타를 메모장에 씁니다.

     

     

    만약, 여러개의 컬럼 정보를 가져오고 싶다면 아래와 같이 컬럼 읽기 액션을 추가하면 됩니다. 그리고, 변수에 가져온 값을 추가하고 텍스트 쓰기를 하면 하나의 행에서 여러개의 열 값을 가져올 수 있습니다.  아래 예제에서는 2개의 열 값을 가져오기 때문에 탭으로 간격을 띄워 주었습니다.

    5dJVihc.png

     

     

    아래 그림과 같이 탭을 2회 반복시켰습니다.

    Olgz02q.png

     

     

    잘 동작하는지 결과를 확인 해볼까요? 완성된 스크립트를 실행하면 아래 동영상과 같이 rawid와 model 컬럼의 정보를 탭으로 구분해서 출력하게 됩니다.

     

     

    대두분의 업무에서는 데이타베이스까지 필요하진 않을겁니다. 주로, 주식이나 코인 또는 게임과 같은 곳에 매크로를 많이 사용하고 있기 때문입니다. 제가 일하는 산업군에서 RPA나 자동화 시스템을 도입하는 대기업의 경우 장비로부터 받은 메세지를 배치 처리하는게 대부분입니다. 장비에는 수백개에서 많게는 수천개의 센서가 붙어 있습니다. 제품을 생산하면서 센싱된 데이타를 가공하고 처리해야 하기 때문에 엄청나게 많은양의 데이타를 생산합니다. 하지만, 개인 또는 중소기업에서 이런 대용량 데이타베이스를 처리할일이 많지 않고 시스템을 구축하는 비용이 워낙 크다보니 아직까지도 자동화가 진행되지 않은곳이 많습니다. 엔지엠 RPA 매크로를 사용하면 저렴하게 업무를 자동화할 수 있습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.