惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
博客园_首页
S
SegmentFault 最新的问题
H
Help Net Security
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
量子位
GbyAI
GbyAI
M
MIT News - Artificial intelligence
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
B
Blog
月光博客
月光博客
博客园 - 聂微东
Vercel News
Vercel News
罗磊的独立博客
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
L
Lohrmann on Cybersecurity
I
Intezer
小众软件
小众软件
T
The Exploit Database - CXSecurity.com
Jina AI
Jina AI
C
Check Point Blog
AWS News Blog
AWS News Blog
C
Cisco Blogs
Martin Fowler
Martin Fowler
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
宝玉的分享
宝玉的分享
S
Security Affairs
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Hacker News: Front Page
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog

博客园 - ddr888

Ubuntu16.04LTS国内快速源 bitnami redmine版本由2.3.1升级至3.2.2过程 Ubuntu1404安装gogs过程 Excel根据单元格背景色批量设置格式的宏 服务器监控之热身:只是试用monit SAP ABAP鸟瞰【AV+PPT】 常用SAP表 HP-UX 11i v2上Oracle10.2基本安装指南 Debian5 dom0上跑Xen Debian5 lenny domU&Xen ubuntu10.04 Lucid domU--我爱你,飞一般的感觉 SAP BW BEx工具集简单介绍【AV+PPT】 resolve.conf引起登录HPUX的CDE故障 让服务器时间“云”起来【拍死标题党】 ubuntu 10.04 源 HP-UX下使用python发送邮件 HP-UX 11i v2安装使用python 2.5.2 birdnest 102 api出现internel error处理 mac上配置rails开发环境 Heroku使用手记 ubuntu常用网络服务配置
cx_Oracle说:Python访问Oracle并不难
ddr888 · 2010-05-16 · via 博客园 - ddr888

  标题很好的说明cx_Oracle的意义,但是就像Windows下访问Oracle那样麻烦一样,Debian中一样繁琐,本文将用尽量简单的过程介绍在Debian 5中Python访问Oracle,但cx_Oracle的使用请参考文档。

  Python实现对Oracle的访问需要以下两个组件和一个可选组件:

  • Oracle Instant Client 它是Oracle提供的一个简单的访问Oracle的组件,不用安装Oracle标准客户端。
  • cx_Oracle 一套符合python 数据库API规范的Oracle访问组件。
  • alient(可选) 简单来讲,就是能把RHEL下的程序包(.rpm)和基于Debian系统中的程序包(.dpkg)相互转换的工具。

一、Oracle Instant Client安装

  It is free!它提供了Oracle数据库访问的C语言接口OCI,cx_Oracle就是通过OCI访问数据库,所以如果只需要在客户端访问数据库,它就是最轻量的。注册并下载Basic包,里面有几个库文件,我们要做的是在cx_Oracle能使用OCI提供的接口,即把Basic包中的几个库文件加入Debian的共享库中。

#mkdir /opt/oracle/instantclient
#cp Basic包中文件 /opt/oracle/instantclient
#vi /etc/profile

在底部加入以下指令:

export LD_LIBRARY_PATH="/opt/oracle/instantclient/"

程序运行时一般会从系统默认的路径中查找共享库文件:/lib和/usr/lib。如果存在环境变量LD_LIBRARY_PATH,那么会先从这里查找库文件,有了这些库文件就可以安装cx_Oracle。

二、安装cx_Oracle

  cx_Oracle是Python中访问Oracle的一个扩展组件,也是很多地方推荐的方案。但是官方网站上并没有提供基于Debian系统类型的安装包,但是有rpm包,这里可以通过alient转换rpm转换到dpkg的折中方法来安装,当然也可以源码安装。

#apt-get install alient
#alient cx_Oracle-*.*.*.*.rpm
#dpkg -i cx_Oracle-*.*.*.*.dpkg

三、cx_Oracle使用

  这里只介绍它的简单使用方法:

import cx_Oracle
db = cx_Oracle.connect('username', 'pwssword', 'ip_address:1521/db_name') 
print db.dsn
print db.version
小结

  本文记录了Debian中Python访问Oracle数据库的cx_Oracle的设置方法,如果有其他方法的经验,欢迎讨论。