AntBot Studio > Activity > DataBase제어 > 프로시져 > 프로시져수행-MsSql
정의 (Description)
- MsSql Server에서 사용자가 지정한 Procedure를 실행할 수 있는 Activity입니다.
속성 (Properties) (*은 필수값입니다.)
항목 | 설명 | 데이터타입 | 기본값 | 설정가능옵션 |
---|---|---|---|---|
Common | ||||
Activity 이름 | 해당 Activity의 이름을 설정합니다. - 기본값은 Activity명이며, 사용자가 직접 변경 가능합니다. |
String | 프로시져수행-MsSql | |
Input Common | ||||
실행할 Procedure * | 실행할 MsSql Server의 Procedure의 명 (MsSql Server에서 지정한 이름과 동일해야 합니다.) | String | Null | |
쿼리 Timeout | 쿼리수행시 Timeout 설정합니다. (단위 : 초), Default는 30 초 | Int32 | Null | |
Option | ||||
DB 연결 정보 | DB에 연결할 접속정보를 설정합니다. (입력 예시 : "Server=127.0.0.1,1433;User Id=AntBot;Password=Ant1234!;") - 'DB 연결 정보' 속성값을 입력할 경우, Connect창에 입력된 정보는 무시됩니다.(Connect창 입력 불필요) |
String | Null |
액티비티 사용 예시 (Example Usage)
- MsSql Server의 사용자정보 변경 Procedure(SP_USER_PROC) 를 수행해서 신규 사용자정보(테이블명:users)를 추가 등록하고 등록결과를 특정 엑셀에 작성하는 예시 예시는 테스트용 DataBase 및 테이블 정보를 활용하므로,
실제 접속 가능한 DataBase 정보의 입력 및 실행 가능한 프로시져(Procedure) 사용 필수
조회 대상 DataBase 접속 서버 및 사용자정보 , 실행할 프로시져(Procedure) 사전 확인
서버IP 또는 도메인 / Port / 사용자ID / 패스워드 / DataBase명 / 스키마명 / 실행 가능한 프로시져(Procedure) 및 입력 파라미터 등 Activity 실행시 필수적으로 알아야 하는 값 사전 조사 필수
변수 선언 : 총 5개 변수 선언
2-1. DataTable 변수 선언 : 아래 2-1-1 ~ 2-1-4 를 반복해서 DT / DT_NEW 2개 변수 선언2-1-1. 이름 : DT 적용
2-1-2. DataTable 변수 형식 찾기2-1-3. System.Data.DataTable 검색
2-1-4. DT 변수 (변수유형 : DataTable) 선언 완료
2-2. String 변수 선언 : 아래 2-2-1 ~ 2-2-2 를 반복해서 ID / USER_NAME / PHONE_NUMBER 3개 변수 선언
2-2-1. 이름 : ID 적용
2-2-2. 변수유형 : String 선택
'쿼리수행-MsSql Server' 액티비티 설정 : 프로시져 수행전 사용자정보(테이블 : users) 조회해서 DT DataTable 변수에 저장
3-1. '쿼리수행-MsSql Server' 액티비티에 수행할 쿼리문 확인 및 입력
- 쿼리문 확인 : 쿼리문 조회 결과 확인
- '쿼리수행-MsSql Server' Input Common 항목 입력
Input Common > 실행할 쿼리문 :
...
버튼 클릭 > 식 편집기 내 Query(String)에 쿼리문 입력 >확인
버튼 클릭* 쿼리문의 끝은 ;(세미콜론) 이 없어도 실행됩니다.
* 접속정보에는 DB 서버의 IP / Port 만 입력하므로 실제 테이블을 조회시에는 데이타베이스명.스키마명.테이블명 형식으로 쿼리문을 작성해야 합니다.
Ex) "select * from test.dbo.users;"Input Common > 쿼리 Timeout : 시간 제한 필요시 입력 합니다. 단위는 초단위이며 미입력시 Default는 30 초가 적용됩니다.
3-2. '쿼리수행-MsSql Server' 액티비티 Option 항목 입력
Option > DB 연결 정보 :
...
버튼 클릭 > 식 편집기 내 ManualConnectString(String)에 접속정보 입력 >확인
버튼 클릭DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
단, 둘 다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.
- Ex) 아래의 형식으로 입력
"Server=127.0.0.1,1433;User Id=antbot;Password=ant1234!;"
- Server : 접속할 MsSql Server 의 서버 IP 와 Port 입력. (IP,Port 형태로 입력)
- Ex) 127.0.0.1,1433
- User Id : DataBase에 접속할 사용자 ID 입력
- Ex) antbot
- Password : DataBase에 접속할 사용자 ID의 패스워드 입력
- Ex) antbot1234!
- Ex) antbot1234!
- Ex) 아래의 형식으로 입력
3-3. '쿼리수행-MsSql Server' 액티비티 Output 입력
- Output > DataTable명
- DT 변수명 입력
- DT 변수명 입력
- 쿼리문 확인 : 쿼리문 조회 결과 확인
다중 Assign : 신규 사용자 정보 항목 값 지정
4-1. 하단 추가 버튼 3회 Click
4-2. 각 Assign 별 값 지정- 변수 : ID , 값 : "kid01"
- 변수 : USER_NAME , 값 : "한우연"
- 변수 : PHONE_NUMBER , 값 : "010-9988-7766"
'프로시져수행-MsSql' 액티비티 설정 : Procedure를 수행해서 신규 사용자정보를 등록
5-1. DataBase 연결
DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
단, 둘다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.- DB Server 정보
- IP : 접속할 MsSql Server 의 서버 IP
- Ex) 127.0.0.1
- Port : 접속할 MsSql Server 의 서버 Port 입력
- Ex) 1433
- IP : 접속할 MsSql Server 의 서버 IP
- User 정보
- ID : DataBase에 접속할 사용자 ID 입력
- Ex) antbot
- Password : DataBase에 접속할 사용자 ID의 패스워드 입력
- Ex) antbot1234!
- ID : DataBase에 접속할 사용자 ID 입력
- 접속확인 버튼 클릭
- 접속 성공 : 정상적으로 접속확인이 되면 "DB 접속성공" 팝업이 보여집니다.
- 접속 실패 : 접속 실패시 "DB 접속실패" 팝업이 보여지며 이경우 접속 정보 및 DataBase 서버 상태를 다시 확인해야 합니다.
- 접속 성공 : 정상적으로 접속확인이 되면 "DB 접속성공" 팝업이 보여집니다.
- 저장 버튼 클릭 : 설정한 정보가 저장됩니다.
5-2. '프로시져수행-MsSql' 액티비티에 수행할 Procedure 명과 기능 및 파라미터 확인 및 입력
* 실행할 Procedure 명과 파라미터 및 기능을 먼저 확인합니다.
* 상황이 된다면 Procedure 실행 가능한 DB Tool을 이용해서 Procedure가 정상 실행되는지 확인을 먼저 해봅니다.
- 아래는 테스트용으로 작성된 사용자정보변경 Procedure의 예시입니다.
CREATE PROCEDURE dbo.SP_USER_PROC --// Procedure명 확인 ( @P_ID NVARCHAR(10), --// 입력 파라미터-1 @P_USER_NAME NVARCHAR(30), --// 입력 파라미터-2 @P_PHONE_NUMBER NVARCHAR(15) --// 입력 파라미터-3 ) AS DECLARE @CNT INT; DECLARE @P_STATUS NVARCHAR(10) = N'사용중'; BEGIN SELECT @CNT = COUNT(ID) FROM USERS WHERE ID = @P_ID; IF @CNT > 0 UPDATE USERS SET USERNAME = @P_USER_NAME ,PHONENUMBER = @P_PHONE_NUMBER ,STATUS = N'변경중' WHERE ID = @P_ID; ELSE INSERT INTO USERS (ID, USERNAME, PHONENUMBER, STATUS) VALUES (@P_ID, @P_USER_NAME, @P_PHONE_NUMBER, @P_STATUS); END;
Procedure 명 입력 : 아래 2가지 방법 중 택1 해서 입력 가능하며, 두 군데에서 모두 확인 가능함.
- 액티비티 내 입력 창에 직접 입력 ( Parameters 버튼 좌측의 입력창)
* 접속정보에는 DB 서버의 IP / Port 만 입력하므로 실제 테이블을 조회시에는 데이타베이스명.스키마명.프로시져명 형식으로 작성해야 합니다.
Ex) "test.dbo.SP_USER_PROC"- Input Common > 실행할 Procedure :
...
버튼 클릭 > 식 편집기 내 ProcedureName(String)에 프로시져명 입력 >확인
버튼 클릭- Ex) "test.dbo.SP_USER_PROC"
- Ex) "test.dbo.SP_USER_PROC"
Parameters 입력 : Procedure 파라미터 수만큼 파라미터 설정함.
Parameters
버튼 클릭 : SQL Server Procedure Parameters 팝업 오픈됨.- 파라미터 갯수만큼 아래의 입력 반복
- 인수 만들기 클릭
- 이름 : Procedure 의 파라미터 명 입력
- Ex) P_ID / P_USER_NAME / P_PHONE_NUMBER
- 방향 : 입력 선택
- 형식 : Procedure 의 파라미터의 속성 입력
- Ex) VARCHAR / CHAR 은 String 입력 , 숫자는 Int32 등으로 입력
- 값 : Procedure 의 파라미터로 전달할 Antbot 내 변수를 입력
- Ex) ID / USER_NAME / PHONE_NUMBER
확인
버튼 클릭
5-3. '프로시져수행-MsSql' 액티비티 Option 항목 입력
Option > DB 연결 정보 :
...
버튼 클릭 > 식 편집기 내 ManualConnectString(String)에 접속정보 입력 >확인
버튼 클릭DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
단, 둘 다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.
- Ex) 아래의 형식으로 입력
"Server=127.0.0.1,1433;User Id=antbot;Password=ant1234!;"
- Server : 접속할 MsSql Server 의 서버 IP 와 Port 입력. (IP,Port 형태로 입력)
- Ex) 127.0.0.1,1433
- User Id : DataBase에 접속할 사용자 ID 입력
- Ex) antbot
- Password : DataBase에 접속할 사용자 ID의 패스워드 입력
- Ex) antbot1234!
- Ex) antbot1234!
- Ex) 아래의 형식으로 입력
- DB Server 정보
'쿼리수행-MsSql Server' 액티비티 설정 : 프로시져 수행 후 사용자정보(테이블 : users) 조회해서 DT_NEW DataTable 변수에 저장
6-1. '쿼리수행-MsSql Server' 액티비티에 수행할 쿼리문 입력 : 프로시져 수행전 확인 쿼리문과 동일
- '쿼리수행-MsSql Server' Input Common 항목 입력
Input Common > 실행할 쿼리문 :
...
버튼 클릭 > 식 편집기 내 Query(String)에 쿼리문 입력 >확인
버튼 클릭* 쿼리문의 끝은 ;(세미콜론) 이 없어도 실행됩니다.
* 접속정보에는 DB 서버의 IP / Port 만 입력하므로 실제 테이블을 조회시에는 데이타베이스명.스키마명.테이블명 형식으로 쿼리문을 작성해야 합니다.
Ex) "select * from test.dbo.users;"Input Common > 쿼리 Timeout : 시간 제한 필요시 입력 합니다. 단위는 초단위이며 미입력시 Default는 30 초가 적용됩니다.
6-2. '쿼리수행-MsSql Server' 액티비티 Option 항목 입력
Option > DB 연결 정보 :
...
버튼 클릭 > 식 편집기 내 ManualConnectString(String)에 접속정보 입력 >확인
버튼 클릭DataBase 연결은 속성의 DB연결정보 항목에 입력하거나 Connect창에 설정할 수 있습니다.
단, 둘 다 입력된 경우에는 속성의 DB연결정보 항목이 우선 적용됩니다.
- Ex) 아래의 형식으로 입력
"Server=127.0.0.1,1433;User Id=antbot;Password=ant1234!;"
- Server : 접속할 MsSql Server 의 서버 IP 와 Port 입력. (IP,Port 형태로 입력)
- Ex) 127.0.0.1,1433
- User Id : DataBase에 접속할 사용자 ID 입력
- Ex) antbot
- Password : DataBase에 접속할 사용자 ID의 패스워드 입력
- Ex) antbot1234!
- Ex) antbot1234!
- Ex) 아래의 형식으로 입력
6-3. '쿼리수행-MsSql Server' 액티비티 Output 입력
- Output > DataTable명
- DT_NEW 변수명 입력
- DT_NEW 변수명 입력
- '쿼리수행-MsSql Server' Input Common 항목 입력
'엑셀 열기' 액티비티 설정 및 속성값 입력
- Input Common > 엑셀파일경로
- Ex) "C:\Users\user\Desktop\test.xlsx"
- 예시로 테스트용 엑셀 경로를 활용하므로, 실제 실행시킬 엑셀 절대경로 입력 필요
- 예시로 테스트용 엑셀 경로를 활용하므로, 실제 실행시킬 엑셀 절대경로 입력 필요
- Ex) "C:\Users\user\Desktop\test.xlsx"
- Option > Activity 종료후 저장여부
- 체크 설정
- Activity 종료 후 자동 저장을 위해 체크 (기본값:체크)
- 체크 설정
- Option > 미존재시생성
- 체크 설정
- 해당 경로에 엑셀 파일 미존재시 신규로 생성함
- 체크 설정
- Option > 엑셀 App 보이게
- 체크 설정
- 엑셀 화면이 표시되며, 작업 절차를 육안으로 확인 가능
Tip
- 옵션 관련 매뉴얼 참고 링크 - 엑셀 열기
- 체크 설정
- Input Common > 엑셀파일경로
'엑셀 쓰기-영역' 액티비티 설정 및 속성값 입력 : 프로시져 수행 전 사용자정보 조회결과 쓰기
* '엑셀 쓰기-영역' 액티비티는 '엑셀 열기' 액티비티 내부 시퀀스에서만 사용 가능함* '엑셀 열기' 내부 시퀀스에서 개발이 진행되는지 체크 필요8-1. 프로시져 수행 전 사용자정보 조회결과 쓰기
- Input Common > 셀에 저장될 값(DataTable)
- DT 변수명 입력
- Input Common > 셀주소
- "A1" 입력
- Input Common > 시트명
- "Sheet1" 입력
- Option > Activity 종료후 저장여부
- 체크 설정
- Activity 종료 후 자동 저장을 위해 체크 (기본값:체크)
- 체크 설정
- Option > 헤더포함여부
- 체크 설정
- 첫행이 DataTable의 컬럼명으로 기입됨
- 체크 설정
8-2. 프로시져 수행 후 사용자정보 조회결과 쓰기
- Input Common > 셀에 저장될 값(DataTable)
- DT_NEW 변수명 입력
- Input Common > 셀주소
- "F1" 입력
- Input Common > 시트명
- "Sheet1" 입력
- Option > Activity 종료후 저장여부
- 체크 설정
- Activity 종료 후 자동 저장을 위해 체크 (기본값:체크)
- 체크 설정
- Option > 헤더포함여부
- 체크 설정
- 첫행이 DataTable의 컬럼명으로 기입됨
- 체크 설정
Tip
- 옵션 관련 매뉴얼 참고 링크 - 엑셀 쓰기-영역
- Input Common > 셀에 저장될 값(DataTable)
실행 결과 확인
- 액티비티 실행 후 결과 엑셀파일 확인 화면
참고 매뉴얼 링크 (Related Manual)
- AntBot Studio > Activity > 프로그래밍 > 다중 Assign
- AntBot Studio > Activity > DataBase제어 > 쿼리 > 쿼리수행-MsSql Server
- AntBot Studio > Activity > 오피스 > 엑셀 > App > 엑셀 열기
- AntBot Studio > Activity > 오피스 > 엑셀 > 쓰기 > 엑셀 쓰기-영역