从python调用时如何获取jdbc结果作为对象

时间:2019-05-24 07:57:45

标签: python jdbc oracle12c

我现有的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

0 个答案:

没有答案