windows下python连接oracle

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

断断续续的在看点python方面的知识,一直没有具体实践,今天测试下python连接oracle。

python连接oracle需要先下载个cx_Oracle 包,

可在python官网下载,我是xp的系统,oracle是11g的,python版本是3.3.5,下载了这个包cx_Oracle-5.1.2-11g.win32-py3.3.msi

cx_Oracle下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下载好后直接点击安装即可,然后在将oracle客户端中的oci.dll(或者你本机上安装了oracle文件)拷贝到python的这个目录下面C:\Python33\Lib\site-packages

至于这个oci.dll文件,我为了省事就直接ctrl+f 搜索,找到后就复制到上面那个python目录下面。


然后编辑python脚本文件:

#!/usr/bin/python
#名字要写对,oracle的O字母是大写
import cx_Oracle
username="king"
userpwd="king"
host="127.0.0.1"
port=1521
dbname="orcl"
dsn=cx_Oracle.makedsn(host, port, dbname)
connection=cx_Oracle.connect(username, userpwd, dsn) 
cursor = connection.cursor() 
sql = "select * from tab" 
cursor.execute(sql) 
result = cursor.fetchall() 
count = cursor.rowcount 
print ("=====================" )
print ("Total:", count)
print ("=====================")
for row in result: 
        print (row)
cursor.close() 
connection.close()

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用户名之类的可以根据自己的实际情况进行修改,我第一次将包名写成了cx_oracle,导致总是报错,找不到这个module,粗心大意不可取啊。

上面脚本输出如下:

>>> 
=====================
Total: 23
=====================
('A', 'TABLE', None)
('BANKDEPT', 'TABLE', None)
('BIN$gf+2lvkvQu+ivwqM5VWOhg==$0', 'TABLE', None)
('CHLID_T', 'TABLE', None)
('COMPANY', 'TABLE', None)
('DD', 'TABLE', None)
('DEPARTMENT', 'TABLE', None)
('F_NEST', 'TABLE', None)
('JIGOU', 'TABLE', None)
('LAST', 'TABLE', None)
('NN', 'TABLE', None)
('PART_T', 'TABLE', None)
('SALARY', 'TABLE', None)
('SUBBRANCH', 'TABLE', None)
('T1', 'TABLE', None)
('T1_1', 'TABLE', None)
('T2', 'TABLE', None)
('TEST1', 'TABLE', None)
('TEST2', 'TABLE', None)
('TEST3', 'TABLE', None)
('TOTAL_T', 'TABLE', None)
('T_EMP', 'TABLE', None)
('T_T', 'TABLE', None)

---------------------------------------------------------------------------------------------------------------------------------------------------------------

说明我的连接是成功的。

--------------------------------------------

个人一直羡慕那些程序员,可以用代码做很多事情,自己也一直期望可以写出一手好的代码,替代日常工作中那些重复性工作,却总是三天打鱼两天晒网,未曾静下心来做这件事请。当然,很多时候也是受限于实际工作情况,毕竟本身oracle的学习尚有很多不足之处,对于python就难免三心二意了。

现在也不强求什么,也不会做无谓的计划,什么每天看多长时间的python。只是在稍显清闲的时候,静下心来,推敲点python简单语句,争取写些自动查询的脚本,说白了,想学python也是为了给oracle日常运维服务。

唯愿坚持下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值