python连接oracle 以及 ubuntu安装rpm
来源:互联网 发布:北京网络推广 编辑:程序博客网 时间:2024/05/18 09:03
cx_oracle下载地址:
http://sourceforge.net/projects/cx-oracle/files/
oracle instant client下载:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo dpkg -i xxxx.deb #安装
注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb
ubuntu下:
第一步、下载安装cx_Oracle
从sourceforge.net下载cx_Oracle的rmp安装文件,注意下载版本最好和Oracle、Python环境保持一致,我当前的环境是Oracle 11g和Python2.7,因此下载的是cx_Oracle-5.1.1-11g-py27-1.x86_64rpm。
下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/
不用按RPM方式去安装,直接解压从中取出cx_Oracle.so文件(只需要这个),复制到Python环境的dist-packages目录,我的机器是/usr/local/lib/python2.7/dist-packages/
第二步、下载安装Oracle instant client
下载地址http://www.oracle.com/technetwork/indexes/downloads/index.html,从Database栏目的Instant Client链接进入,按当前系统选择对应的下载,我选择的是Instant Client for Linux x86
解压下载文件oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm,路径很长实际上只需要其中的so共享库文件,将所有so文件复制到一个单独路径即可,我将他们复制到/opt/oracle-instantclient11.2/lib。
应该有5个文件:
laonan@parallels-Parallels-Virtual-Platform:/opt/oracle-instantclient11.2/lib$ ls libclntsh.so.11.1 libnnz11.so libocci.so.11.1 libociei.so libocijdbc11.so
第三步、检查并安装libaio1
sudo apt-get install libaio1
最后、测试一下
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib$ python>>>import cx_Oracle>>>conn = cx_Oracle.connect(’test/testpw@192.168.1.100:1521/mySid’)>>>cursor = conn.cursor()>>>cursor.execute(”SELECT to_char(sysdate,’yyyy-mm-dd’) from dual”)>>>row = cursor.fetchone()>>>print “result: “, row
补充,配置环境变量。
$ cd ~ $ sudo vim .bashrc
把 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib 这行放在里面,done.
#!/usr/bin/env python
import cx_Oracle
list=[]
conn=cx_Oracle.connect('DK_PARTY','BkF6QOYXlZ','192.168.21.196:1521/orcl')-------------------(‘用户名’,‘密码’,‘IP:端口/sid’)
cursor=conn.cursor()
sql='select distinct ORG_ID from DKCORE.ORG_ROLES where LOGISTICS_ROLE_ID=\'2af80778ad7c40a18827f1e40b899c28\''
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
list.append(row[0])
print list
- python连接oracle 以及 ubuntu安装rpm
- ubuntu 安装rpm
- ubuntu安装rpm包
- Ubuntu 安装RPM包
- ubuntu 中安装rpm
- ubuntu安装rpm包
- ubuntu安装rpm包
- ubuntu安装rpm包
- ubuntu - rpm的安装
- ubuntu 安装rpm
- ubuntu下安装rpm
- ubuntu安装.rpm文件
- ubuntu 安装rpm文件
- Ubuntu下安装rpm
- Ubuntu-安装rpm格式文件
- Ubuntu安装rpm
- rpm安装python
- rpm安装以及rpm升级命令
- AJAX 技术 专题一 入门
- 安家啦
- 第十一周项目5-2-体验读入文档操作2
- zen_get_all_get_params 函数介绍
- Links and resources for malware samples
- python连接oracle 以及 ubuntu安装rpm
- TD-LTE芯片技术趋势 持续性的模式、频段竞赛
- 软件设计模式
- assert用法总结
- 第九章
- 2012-03-14 15:18 Oracle用户、角色、权限、登录方式的关系
- <数据结构>链栈的C语言实现
- POJ 1113 凸包
- iOS里两种调用属性方法的区别