Table of Contents

AntBot Studio > Activity > DataBase제어 > 쿼리 > 쿼리수행-MySql

정의 (Description)

  • MySql(또는 MariaDB)에 접속하여 쿼리를 실행한 뒤 DataTable에 저장할 수 있는 Activity입니다.
  • 해당 Activity는 MySql , MariaDB 두가지 종류의 DataBase를 지원합니다.
* 정상 실행을 위해 접속 가능한 MySql (또는 MariaDB) 환경이 사전에 존재해야 합니다.
- 접속 가능한 DB 정보( 서버IP 또는 도메인 / Port / 사용자ID / 패스워드 / DataBase명 / 테이블명 )에 대한 정보 사전 확인 필수
- 실제 실행 가능한 쿼리(Structured Query Language) 여부 사전 확인 필수
* 해당 Activity는 MySql.Data.8.0.17 기반으로, MySql 8.0.17이하 버전과 호환되며, 상위버전의 경우 일부기능이 제한될수 있습니다.


속성 (Properties) (*은 필수값입니다.)

항목 설명 데이터타입 기본값 설정가능옵션
Common
Activity 이름 해당 Activity의 이름을 설정합니다.
- 기본값은 Activity명이며, 사용자가 직접 변경 가능합니다.
String 쿼리수행-MySql
Input Common
실행할 쿼리문 * MySql에 접속해 실행할 쿼리문을 입력합니다. String Null
쿼리 Timeout 쿼리수행시 Timeout 설정합니다. (단위 : 초), Default는 30 초 Int32 Null
Option
DB 연결 정보 DB에 연결할 접속정보를 설정합니다.
(입력 예시 : "Server=127.0.0.1;Port=3306;User Id=antbot;Password=ant1234!;Database=test")
- 'DB 연결 정보' 속성값을 입력할 경우, Connect창에 입력된 정보는 무시됩니다.(Connect창 입력 불필요)
String Null
Output
DataTable명 SELECT 쿼리문의 결과를 저장할 DataTable 명을 입력합니다. System.Data.DataTable Null


액티비티 사용 예시 (Example Usage)

  • MySql (또는 MariaDB)의 테이블 (테이블명:users) 에서 모든 사용자 정보를 읽어와서 특정 엑셀에 작성하는 예시
    예시는 테스트용 DataBase 및 테이블 정보를 활용하므로,
    실제 접속 가능한 DataBase 정보의 입력 필수 및 정상 실행 가능한 쿼리(Structured Query Language) 입력 필수

  1. 조회 대상 DataBase 접속 서버 및 사용자정보 , 실행할 쿼리(Structured Query Language) 사전 확인

    서버IP 또는 도메인 / Port / 사용자ID / 패스워드 / DataBase명 / 실행 가능한 쿼리(Structured Query Language) 등 Activity 실행시 필수적으로 알아야 하는 값 사전 조사 필수

  2. DataTable 변수 선언

    2-1. 이름 : DT 적용

    2-2. DataTable 변수 형식 찾기

    2-3. System.Data.DataTable 검색

    2-4. DT 변수 (변수유형 : DataTable) 선언 완료

  3. '쿼리수행-MySql' 액티비티 설정

    3-1. DataBase 연결

    DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
    단, 둘다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.

    • Server 정보
      • IP : 접속할 MySql (또는 MariaDB) 의 서버 IP 또는 도메인 입력
        • Ex) 127.0.0.1
      • Port : 접속할 MySql (또는 MariaDB) 의 서버 Port 입력
        • Ex) 3306
      • DataBase명 : 접속할 MySql (또는 MariaDB) 의 서버 내 DataBase명 입력
        • Ex) test
    • User 정보
      • Id : DataBase에 접속할 사용자 ID 입력
        • Ex) antbot
      • Password : DataBase에 접속할 사용자 ID의 패스워드 입력
        • Ex) antbot1234
    • 접속확인 버튼 클릭
      • 접속 성공 : 정상적으로 접속확인이 되면 "DB 접속성공" 팝업이 보여집니다.
      • 접속 실패 : 접속 실패시 "DB 접속실패" 팝업이 보여지며 이경우 접속 정보 및 DataBase 서버 상태를 다시 확인해야 합니다.
    • 저장 버튼 클릭 : 설정한 정보가 저장됩니다.

    3-2. '쿼리수행-MySql' 액티비티에 수행할 쿼리문 확인 및 입력

    * 쿼리문 실행 가능한 DB Tool을 이용해서 작성한 쿼리문이 정상적으로 실행되는지 먼저 확인해 봅니다.
    • 쿼리문 확인 : 쿼리문과 조회 결과 확인

    • '쿼리수행-MySql' Input Common 항목 입력

      • Input Common > 실행할 쿼리문 : ... 버튼 클릭 > 식 편집기 내 Query(String)에 쿼리문 입력 > 확인 버튼 클릭
        • Ex) "select * from users"
      * 아래처럼 With 절을 이용한 가상테이블 쿼리 형태로 실행하면 실제 users 테이블이 없어도 예시와 동일한 조회 결과를 확인 할 수 있습니다. * 쿼리문의 끝은 ;(세미콜론) 이 없어도 실행됩니다.
      "With users As
      (
      select 'uid01' as id, '김수정' as UserName, '010-9999-8888' as PhoneNumber, '사용중' as Status from dual union all
      select 'uid02', '홍길동', '010-1234-4321', '사용중' from dual union all
      select 'uid03', '이지원', '010-1234-1234', '사용중' from dual union all
      select 'uid04', '매니저', '010-1234-1235', '사용중' from dual union all
      select 'uid05', '장수영', '010-1111-2222', '사용중' from dual union all
      select 'uid06', '박지원', '010-1234-5678', '사용중' from dual union all
      select 'uid07', '사용자', '010-2222-3333', '사용중' from dual
      )
      select * from users;"
      
      • Input Common > 쿼리 Timeout : 시간 제한 필요시 입력 합니다. 단위는 초단위이며 미입력시 Default는 30 초가 적용됩니다.

    3-3. '쿼리수행-MySql' 액티비티 Option 항목 입력

    • Option > DB 연결 정보 : ... 버튼 클릭 > 식 편집기 내 ManualConnectString(String)에 접속정보 입력 > 확인 버튼 클릭

      DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
      단, 둘 다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.

      • Ex) 아래의 형식으로 입력
      "Server=127.0.0.1;Port=3306;User Id=antbot;Password=ant1234;Database=test"
      
      • Server : 접속할 MySql (또는 MariaDB) 의 서버 IP 또는 도메인 입력
      • Port : 접속할 MySql (또는 MariaDB) 의 서버 Port 입력
      • User Id : DataBase에 접속할 사용자 ID 입력
      • Password : DataBase에 접속할 사용자 ID의 패스워드 입력
      • Database : 접속할 MySql (또는 MariaDB) 의 서버 내 DataBase명 입력

    3-4. '쿼리수행-MySql' 액티비티 Output 입력

    • Output > DataTable명
      • DT 변수명 입력
    SELECT 쿼리문의 경우만 조회된 결과를 저장합니다.

  4. '엑셀 열기' 액티비티 엑셀 파일 경로 설정

    • Input Common > 엑셀파일경로
      • Ex) "C:\Users\user\Desktop\test.xlsx"
        • 예시로 테스트용 엑셀 경로를 활용하므로, 실제 실행시킬 엑셀 절대경로 입력 필요

  5. '엑셀 열기' 액티비티 Option 항목 설정

    • Option > Activity 종료후 저장여부
      • 체크 설정
        • Activity 종료 후 자동 저장을 위해 체크 (기본값:체크)
    • Option > 미존재시생성
      • 체크 설정
        • 해당 경로에 엑셀 파일 미존재시 신규로 생성함
    • Option > 엑셀 App 보이게
      • 체크 설정
        • 엑셀 화면이 표시되며, 작업 절차를 육안으로 확인 가능
      Tip



  6. '엑셀 쓰기-영역' 액티비티 속성값 입력

    * '엑셀 쓰기-영역' 액티비티는 '엑셀 열기' 액티비티 내부 시퀀스에서만 사용 가능함
    * '엑셀 열기' 내부 시퀀스에서 개발이 진행되는지 체크 필요
    • Input Common > 셀에 저장될 값(DataTable)

      • DT 변수명 입력
    • Input Common > 셀주소

      • "A1" 입력
    • Input Common > 시트명

      • "Sheet1" 입력
    • Option > Activity 종료후 저장여부

      • 체크 설정
        • Activity 종료 후 자동 저장을 위해 체크 (기본값:체크)
    • Option > 헤더포함여부

      • 체크 설정
      • 첫행이 DataTable의 컬럼명으로 기입됨
      Tip



  7. 실행 결과 확인

    • 액티비티 실행 후 결과 엑셀파일 확인 화면



AI Copilot

  • MySql의 AI Copilot 사용 예시

  1. MySql 액티비티 내부의 AI Copilot 버튼 클릭


​ 2. AI Copilot for Query 창의 질문 입력창에 쿼리문에 대한 질문 작성


  1. 전송 버튼 클릭 후 대기


  2. 결과창에 생성된 쿼리 확인


  3. 적용 버튼을 클릭하여 실행할 쿼리문에 적용


  4. 액티비티의 속성창의 실행할 쿼리문에 적용되어 있는 지 확인




  • 생성된 답변 이외의 추가 질문를 위해 초기화 버튼 클릭 후 재질문





## 추가 관련 데이터 | 항목명 | 값 | | --- | --- | | 원본 매뉴얼 URL | /AntBot%20Studio/Activity/5.%20DataBase제어/쿼리/쿼리수행-MySql/ktds.AntBot.Activities.DatabaseLib.MySqlConnector.MySqlConnectorCodeActivity.html | | 패키지명 | ktds.AntBot.Activities.DatabaseLib.MySqlConnector.MySqlConnectorCodeActivity | | 매뉴얼 ID | ktds.AntBot.Activities.DatabaseLib.MySqlConnector.MySqlConnectorCodeActivity |