def sqlplus(self, finalscript, silent=False):
self._setenv()
with TemporaryFile() as f:
args = [os.path.join(self.oraclehome, 'bin', 'sqlplus')]
if silent:
args.append('-S')
args.append('/nolog')
debug("SQL*Plus execution starts")
BackupLogger.close()
p = Popen(args, stdout=f, stderr=f, stdin=PIPE)
p.communicate(input=finalscript)
BackupLogger.init()
if p.returncode != 0:
error("SQL*Plus exited with code %d" % p.returncode)
raise Exception('sqlplus', "sqlplus exited with code %d" % p.returncode)
else:
debug("SQL*Plus execution successful")
if silent:
f.seek(0,0)
return f.read()
评论列表
文章目录