python操作oracle数据库需要使用到cx-oracle库。
安装:pip install cx-oracle
python连接oracle数据库分以下步骤:
1、与oracle建立连接;
2、获取游标;
3、执行sql语句;
4、fetch查询结果或commit修改结果;
5、关闭游标;
6、关闭oracle连接。
完整示例如下:
# -*- coding:utf-8 -*- import cx_Oracle as oracle from readConfig import get_config_values from utils.resutltodict import dict_fetchall def execute_oracle_sql_query(sql, params): """ 执行oracle sql查询语句 :param sql: sql语句,变量使用 :var或者:1,:2表示 :param params: 变量值,传入元祖 :return: queryset """ dsn_tns = oracle.makedsn(get_config_values('oracle', 'host'), get_config_values('oracle', 'port'), get_config_values('oracle', 'sid')) print(dsn_tns) conn = oracle.connect(user=get_config_values('oracle', 'user'), password=get_config_values('oracle', 'password'), dsn=dsn_tns) cursor = conn.cursor() cursor.execute(sql, params) qryset = dict_fetchall(cursor) cursor.close() conn.close() return qryset if __name__ == '__main__': sql = """select t.*,rowid from ch_info_dictitem t where t.groupid=:1""" params = ('WorkFlowCategory', ) print(execute_oracle_sql_query(sql=sql, params=params))
cx_oracle的详细使用见官文:
https://oracle.github.io/python-cx_Oracle/