原创

[python]连接oracle数据库

前言

最近打算做一个小工具,能够自动连接oracle数据库,查出其中的某条记录,并且返回。原本想用java来写,但是java不够灵活,而且现在公司很多同事都在学习python,为了以后维护方便,自然要用python来搞了

安装oracle client

略过,这一块其实网上教程很多了

安装cx_oracle

之心

python -m pip install cx_Oracle --upgrade

结果报错,直接方法2(使用whl安装)

使用whl安装

打开[python extension packages for windows][https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle] 找到你对应的python版本的cx_oracle库 比如我现在用python3.10,则下载【cx_Oracle‑8.2.1‑cp310‑cp310‑win_amd64.whl】 随便找个地方放,然后进入到该目录

pip install cx_Oracle-8.2.1-cp310-cp310-win_amd64.whl

提示

Processing c:\users\w\downloads\cx_oracle-8.2.1-cp310-cp310-win_amd64.whl
Installing collected packages: cx-Oracle
Successfully installed cx-Oracle-8.2.1
WARNING: You are using pip version 21.2.3; however, version 21.3 is available.
You should consider upgrading via the 'C:\Users\w\AppData\Local\Programs\Python\Python310\python.exe -m pip install --upgrade pip' command.

就可以了

写脚本连接oracle

示例脚本如下:

import cx_Oracle

print('\033[34m')
print ('python简易数据库查询工具v1.0')
print ('仅适用于测试环境,请勿用于生产!!!!')
print ('by djc8.cn')
print('\033[0m')

while 1==1:
    phone = input('输入要查询的手机号.\n')
   
    phone_params={'phone':phone}

    conn = cx_Oracle.connect('test', 'test', '127.0.0.1:1521/zxdb')

    cursor = conn.cursor()

    if phone == '':
        sql = 'select destaddr,message from esk.sms_sent order by sent_id desc'
        result=cursor.execute(sql)
    else:
        sql = 'select destaddr,message from esk.sms_sent where destaddr=:phone order by sent_id desc'
        result=cursor.execute(sql,phone_params)

    data=cursor.fetchone()

    print (data[0])
    print ('\033[7m',data[1])
    print('\033[0m')
    conn.close()
    

完成

温馨提示:
本文最后更新于 2022年03月15日,已超过 114 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
本文目录