from common.readconfig import ReadConfig
import cx_Oracle
class HandleOracle(object):
def __init__(self, sec):
self.data = ReadConfig() # 读取数据库配置文件
ip = self.data.get_db(sec, "ip")
user = self.data.get_db(sec, "user")
pwd = self.data.get_db(sec, "pwd")
port = '1521'
sid = self.data.get_db(sec, "sid")
self.conn = cx_Oracle.connect(user + "/" + pwd + "@" + ip + ":" + port + "/" + sid) # 连接数据库
self.cur = self.conn.cursor() # 连接游标
def query_sql(self, v_sql):
"""执行查询sql"""
try:
self.cur.prepare(v_sql)
except cx_Oracle.Error as e:
print(e)
self.cur.execute(v_sql)
return self.cur.fetchall()
def insert_sql(self, v_sql, date):
try:
self.cur.prepare(v_sql)
except cx_Oracle.DatabaseError as e:
print(e)
self.cur.execute(v_sql,date)
self.conn.commit()
def delete_sql(self,v_sql):
try:
self.cur.parse(v_sql)
except cx_Oracle.DatabaseError as e:
print(e)
self.cur.execute(v_sql)
self.conn.commit()
def close_db(self):
"""关闭数据库连接"""
self.cur.close()
self.conn.close()
if __name__ == '__main__':
test = HandleOracle('HTWBDB')
v_sql = "select * from user"
for i in test.query_sql(v_sql):
print(i)