1 # -------------------------------------------------------------------------
2 # Copyright (c) 2015-2017 AT&T Intellectual Property
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # -------------------------------------------------------------------------
21 from osdf.utils.programming_utils import MetaSingleton
24 class OracleDB(metaclass=MetaSingleton):
25 conn, cur = None, None
27 def connect(self, host=None, sid=None, user=None, passwd=None, port=5432):
29 tns_info = cx_Oracle.makedsn(host=host, port=port, sid=sid)
30 self.conn = cx_Oracle.connect(user=user, password=passwd, dsn=tns_info, threaded=True)
31 self.cur = self.conn.cursor()
32 return self.conn, self.cur