import cx_Oracle
class Oracle_connect():
def __init__(self,username,password,host_ip,port,instance_name,sql):
'''
:param username: 数据库用户名
:param password: 数据库密码
:param host_ip: 数据库主机IP地址
:param port: 数据库主机端口
:param instance_name: 数据库实例名称
:param sql: 数据库执行SQL语句
'''
self.username = username
self.password = password
self.host_ip = host_ip
self.port = port
self.instance_name = instance_name
self.sql = sql
def get_data(self):
try:
conn = cx_Oracle.connect('{}/{}@{}:{}/{}'.format(self.username,self.password,self.host_ip,self.port,self.instance_name) )#连接数据库字符串
cursor = conn.cursor() # 使用cursor()方法获取操作游标
result=cursor.execute (self.sql) #执行SQL语句
data = cursor.fetchall() #取出数据库所有数据
cursor.close()
conn.close()
return data #返回数据
except:
print('\033[1;35m 执行失败:{}数据库连接失败!!! \033[0m!'.format(self.host_ip))
def get_dic(self):
try:
conn = cx_Oracle.connect('{}/{}@{}:{}/{}'.format(self.username,self.password,self.host_ip,self.port,self.instance_name) )#连接数据库字符串
cursor = conn.cursor() # 使用cursor()方法获取操作游标
result=cursor.execute (self.sql) #执行SQL语句
index = cursor.description
cursor.close()
conn.close()
return index #返回数据
except:
print('\033[1;35m 执行失败:{}数据库连接失败!!! \033[0m!'.format(self.host_ip))
def update_date(self,sql):
try:
conn = cx_Oracle.connect('{}/{}@{}:{}/{}'.format(self.username,self.password,self.host_ip,self.port,self.instance_name) )#连接数据库字符串
cursor = conn.cursor() # 使用cursor()方法获取操作游标
result=cursor.execute (sql) #执行SQL语句
cursor.execute("commit")
cursor.close()
conn.close()
except:
print('\033[1;35m 执行失败:{}数据库连接失败!!! \033[0m!'.format(self.host_ip))
def insert_date(self,sql):
try:
conn = cx_Oracle.connect('{}/{}@{}:{}/{}'.format(self.username,self.password,self.host_ip,self.port,self.instance_name) )#连接数据库字符串
cursor = conn.cursor() # 使用cursor()方法获取操作游标
cursor.execute (sql) #执行SQL语句
cursor.execute("commit")
cursor.close()
conn.close()
except:
print('\033[1;35m 执行失败:{}数据库连接失败!!! \033[0m!'.format(self.host_ip))