소스 검색

HUE-5859 [jdbc] Fix librdbms problem when CLASSPATH variable not defined in environment

Andy Braslavskiy 8 년 전
부모
커밋
5cb6c69
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      desktop/libs/librdbms/src/librdbms/jdbc.py

+ 7 - 1
desktop/libs/librdbms/src/librdbms/jdbc.py

@@ -19,6 +19,8 @@ import logging
 import os
 import sys
 
+from notebook.conf import DBPROXY_EXTRA_CLASSPATH
+
 LOG = logging.getLogger(__name__)
 
 
@@ -51,7 +53,11 @@ class Jdbc():
     if 'py4j' not in sys.modules:
       raise Exception('Required py4j module is not imported.')
 
-    self.gateway = JavaGateway.launch_gateway(classpath=os.environ['CLASSPATH'])
+    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