我现有的jdbc连接器从stdout获取结果,因此在一个字符串中获取结果。这样就可以解析结果。
您能帮我提出一种在对象中获取结果的方法吗?
from subprocess import Popen, PIPE, STDOUT
class connector:
def execute(self, query):
oracle_jdbc_jar = self.oracle_jdbc_jar
oracle_jdbc_url = self.oracle_jdbc_url
oracle_password = self.oracle_password
oracle_user = self.oracle_user
p = Popen(['java', '-jar', oracle_jdbc_jar ,'-oracle_jdbc_url', oracle_jdbc_url, '-oracle_user' ,oracle_user,'-oracle_password',oracle_password,'-query',query ], stdout=PIPE, stderr=STDOUT)
stdout, stderr = p.communicate()
print stdout
if "return code: 0" not in stdout:
raise RuntimeError()
for line in stdout.splitlines():
if 'Results:' in line:
return line.split('Results:')[1].strip()
return None