前言
最近打算做一个小工具,能够自动连接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()
完成


评 说
正在取来评说……