database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4019 게시물 읽기
No. 4019
프로시저내에서 XP_CMDSHELL을 사용한후의 오류검출은 어떻게?
작성자
안수철(toktok)
작성일
2008-01-29 16:43
조회수
3,394

안녕하십니까?


다름이 아니고 "xp_cmdshell"을 사용하여 데이터베이스의 테이블을 텍스트로 출력하는 작업을 프로시저를 작성하여 해보았습니다.


근데 오류가 발생할 때 어떻게 그것을 검출할 수 있는지요?


가령 "C:\Test\Test.txt"라는 파일을 생성하려고 Path를 주었는데 (실제로 Test라는 폴더가 없다고 합시다.) 이 경우 분명 오류이지요.


근데 "xp_cmdshell" 은 리턴 값이 0(성공), 1(실패)이니 "EXEC @result = master..xp_cmdshell      " (어쩌구저쩌구)하여 결과를 받았습니다.


그 때 @result 값이 1이면 오류가 발생하였으므로 리턴시켰는데.


프로시저를 끝나고 나온 결과는 NULL...


바로 이 시점에서의 오류를 검출할 수 없어서 그럽니다.


저의 환경은 MS Windows Server 2003, MS SQL SERVER 2005 입니다.


고수님들 고견을 부탁합니다.


이 글에 대한 댓글이 총 1건 있습니다.

xp_cmdshell은 windows에서 또다른 process를 실행시키는 것이므로 이 process의 리턴을 받을 수 없습니다. 

따라서, 다른 모듈을 개발하여 return을 받을 수 있도록 해야 하는데 

2005 베이스라면 assembly 기능을 추천드립니다. 


그렇지 않다면 cmdshell의 결과를 어딘가에 저장하여 DB에서 다시 액세서를 하여야 합니다. 

.님이 2008-01-30 14:32에 작성한 댓글입니다.
이 댓글은 2008-01-30 14:33에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4022다음의 합계를 구하는데 잘 안되네요..;; [1]
이정규
2008-01-31
3079
4021union에 관해서 질문드립니다. [1]
정명규
2008-01-30
3053
4020수정에 관해서 질문 드립니다. [1]
정명규
2008-01-30
2841
4019프로시저내에서 XP_CMDSHELL을 사용한후의 오류검출은 어떻게? [1]
안수철
2008-01-29
3394
4018테이블에 관해서 질문드립니다.(2) [1]
정명규
2008-01-30
3305
4017조회에 관해서 질문 드립니다. [1]
정명규
2008-01-30
2899
4016테이블에 관해서 질문 드립니다. [1]
정명규
2008-01-30
3273
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다