예제 #1
0
파일: jdbc.py 프로젝트: ztwu/hue
    def __init__(self,
                 driver_name,
                 url,
                 username,
                 password,
                 impersonation_property=None,
                 impersonation_user=None):
        if 'py4j' not in sys.modules:
            raise Exception('Required py4j module is not imported.')

        classpath = os.environ.get('CLASSPATH', '')
        if DBPROXY_EXTRA_CLASSPATH.get():
            classpath = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(), classpath)

        self.gateway = JavaGateway.launch_gateway(classpath=classpath)

        self.jdbc_driver = driver_name
        self.db_url = url
        self.username = username
        self.password = password

        if impersonation_property and impersonation_user:
            self.db_url += ";{}={};".format(impersonation_property,
                                            impersonation_user)

        self.conn = None
예제 #2
0
    def handle(self, *args, **kwargs):
        env = os.environ.copy()

        cmd = os.path.join(os.path.dirname(__file__), "..", "..", "..", "..",
                           "..", "librdbms", "java", "bin", "dbproxy")

        if DBPROXY_EXTRA_CLASSPATH.get():
            env['CLASSPATH'] = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(),
                                          env.get('CLASSPATH', ''))

        LOG.info("Executing %r (%r) (%r)" % (cmd, args, env))

        # Use exec, so that this takes only one process.
        os.execvpe(cmd, args, env)
예제 #3
0
    def handle(self, *args, **kwargs):
        env = os.environ.copy()

        cmd = os.path.join(
            os.path.dirname(__file__), "..", "..", "..", "..", "..", "librdbms", "java", "bin", "dbproxy"
        )

        if DBPROXY_EXTRA_CLASSPATH.get():
            env["CLASSPATH"] = "%s:%s" % (DBPROXY_EXTRA_CLASSPATH.get(), env.get("CLASSPATH", ""))

        LOG.info("Executing %r (%r) (%r)" % (cmd, args, env))

        # Use exec, so that this takes only one process.
        os.execvpe(cmd, args, env)
예제 #4
0
    def __init__(self, driver_name, url, username, password):
        if 'py4j' not in sys.modules:
            raise Exception('Required py4j module is not imported.')

        classpath = os.environ.get('CLASSPATH', '')
        if DBPROXY_EXTRA_CLASSPATH.get():
            classpath = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(), classpath)

        self.gateway = JavaGateway.launch_gateway(classpath=classpath)

        self.jdbc_driver = driver_name
        self.db_url = url
        self.username = username
        self.password = password

        self.conn = None