[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
找到你对应的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()
    

完成


本文作者:小蚊子
本文链接:[python]连接oracle数据库 - https://djc8.cn/archives/python-connect-to-oracle-database.html
版权声明: 知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

标签: oracle, python, connect

添加新评论