import os
import subprocess
def ExecuteCmd(self, strCmd):
print "[ExecuteCmd] %s" % (strCmd)
pipe = subprocess.Popen(strCmd,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
pipe.stdin.close()
retOutputList = []
while( pipe.poll() is None ):
out = pipe.stdout.readline()
if( out != '' ):
print out
retOutputList.append(out)
retCode = pipe.poll()
return (retCode, retOutputList)
def main():
(retCode, stdout) = ExecuteCmd('svn --version')
print 'retCode : ' + str(retCode)
print stdout
if __name__ == "__main__":
try:
main()
except os.error, err:
print str(err)
글 검색 결과
- 2012/01/19 [Python] ExecuteCmd 커맨드 명령어 실행하기
- 2012/01/10 [MS-SQL] DB Schema 모두 제거하기 (2)
[Python] ExecuteCmd 커맨드 명령어 실행하기
Python에서 Command 명령어 실행하는 예제
- 이 글의 트랙백 주소
- 이 글에는 트랙백을 보낼 수 없습니다
add
- 댓글 남기기
[MS-SQL] DB Schema 모두 제거하기
DB에서 Table, Procedure, View를 모두 삭제하는 Query 입니다.
맨 윗줄의 Use [DBName]을 수정하시고 사용하세요.
USE [DBName]
GO
DECLARE @SysObjectCount INT
SELECT @SysObjectCount = COUNT('') FROM SYSOBJECTS WITH(NOLOCK)
-- Drop Views
BEGIN
DECLARE @IndexForView INT
SET @IndexForView = 0
WHILE ( @IndexForView < @SysObjectCount )
BEGIN
DECLARE @VIEW_NAME VARCHAR(MAX)
DECLARE VIEW_LIST CURSOR FOR
SELECT NAME FROM SYSOBJECTS O2 WHERE XTYPE='V'
OPEN VIEW_LIST
FETCH NEXT FROM VIEW_LIST INTO @VIEW_NAME
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'DROPPING VIEW '+@VIEW_NAME
EXEC ('DROP VIEW '+@VIEW_NAME)
FETCH NEXT FROM VIEW_LIST INTO @VIEW_NAME
END
CLOSE VIEW_LIST
DEALLOCATE VIEW_LIST
SET @IndexForView = @IndexForView + 1
END
END
-- Drop Procedures
BEGIN
DECLARE @IndexForProcedure INT
SET @IndexForProcedure = 0
WHILE ( @IndexForProcedure < @SysObjectCount )
BEGIN
DECLARE @PROCEDURE_NAME VARCHAR(MAX)
DECLARE PROCEDURE_LIST CURSOR FOR
SELECT NAME FROM SYSOBJECTS O2 WHERE XTYPE='P'
OPEN PROCEDURE_LIST
FETCH NEXT FROM PROCEDURE_LIST INTO @PROCEDURE_NAME
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'DROPPING PROCEDURE '+@PROCEDURE_NAME
EXEC ('DROP PROCEDURE '+@PROCEDURE_NAME)
FETCH NEXT FROM PROCEDURE_LIST INTO @PROCEDURE_NAME
END
CLOSE PROCEDURE_LIST
DEALLOCATE PROCEDURE_LIST
SET @IndexForProcedure = @IndexForProcedure + 1
END
END
-- Drop Tables
BEGIN
DECLARE @IndexForTable INT
SET @IndexForTable = 0
WHILE ( @IndexForTable < @SysObjectCount )
BEGIN
DECLARE @TABLE_NAME VARCHAR(MAX)
DECLARE TABLE_LIST CURSOR FOR
SELECT NAME FROM SYSOBJECTS O2 WHERE XTYPE='U' AND
NOT EXISTS (
SELECT * FROM SYSFOREIGNKEYS K
JOIN SYSCOLUMNS C1 ON (K.FKEYID = C1.ID AND C1.COLID=K.FKEY)
JOIN SYSCOLUMNS C2 ON (K.RKEYID = C2.ID AND C2.COLID=K.RKEY)
WHERE C2.ID = O2.ID AND C1.ID <> O2.ID
)
OPEN TABLE_LIST
FETCH NEXT FROM TABLE_LIST INTO @TABLE_NAME
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'DROPPING TABLE '+@TABLE_NAME
EXEC ('DROP TABLE '+@TABLE_NAME)
FETCH NEXT FROM TABLE_LIST INTO @TABLE_NAME
END
CLOSE TABLE_LIST
DEALLOCATE TABLE_LIST
SET @IndexForTable = @IndexForTable + 1
END
END
- 이 글의 트랙백 주소
- 이 글에는 트랙백을 보낼 수 없습니다
-
- hanstar17 @ 2012/01/10 11:02
-

- 오랜만에 보는 업뎃~!^^
add
- 댓글 남기기



















