class ConnectionOracleMethod(object):
def __init__(self, user_name, pass_word, db_name, sql):
self.user_name user_name
self.pass_word pass_word
self.db_name db_name
self.sql sql
def oracle_connection_fetchall(self):
conn cx_Oracle.connect(self.user_name, self.pass_word, self.db_name)
cur conn.cursor()
cur.execute(self.sql)
res_get_all cur.fetchall() # 以元组的形式获取sql查询的全部结果
cur.close()
conn.commit()
conn.close()
return res_get_all
def oracle_connection_fetch_many(self, get_count_per):
:param get_count_per: 指定读取的数据量
:Explain: 当执行sql数据量特别大的时候可以使用该方法 每次获取指定条数的数据量
conn cx_Oracle.connect(self.user_name, self.pass_word, self.db_name)
cur conn.cursor()
cur.execute(self.sql)
while True:
time.sleep(3)
res_get_many cur.fetchmany(get_count_per) # 以元组的形式获取sql查询的全部结果
if len(res_get_many) 0:
break
else:
print(res_get_many) # 每次获取指定条数数据打印 直到获取完
conn.commit()
cur.close()
conn.close()