Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-21
제목 SAMPLE: PRO*C 에서 SESSION 을 KILL 하는 방법
#include
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR password[20];
varchar ser[30];
varchar str[130];
EXEC SQL END DECLARE SECTION;

EXEC SQL INCLUDE sqlca;
void sqlerror(); /* handles unrecoverable errors */

main() {

strcpy(username.arr, "SYS"); /* copy the username */
username.len = strlen(username.arr);
strcpy(password.arr, "MANAGER"); /* copy the password */
password.len = strlen(password.arr);

EXEC SQL WHENEVER SQLERROR DO sqlerror();
EXEC SQL CONNECT :username IDENTIFIED BY :password;
EXEC SQL SELECT ''''||to_char(SID)||','||
to_char(SERIAL#)||''''
INTO :ser
FROM v$session
WHERE sid=8;
strcpy(str.arr,"alter system kill session ");
strcat(str.arr,ser.arr);
str.len=strlen(str.arr);
printf("%s %d",str.arr,str.len);
EXEC SQL EXECUTE IMMEDIATE :str;
}
void sqlerror()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\nORACLE error detected:\n");
printf("\n% .70s \n", sqlca.sqlerrm.sqlerrmc);
exit(1);
}


출처 : 오라클 블루틴
Comment
등록된 코멘트가 없습니다.