debian9 python3.6连接oracle10.2

环境:
os:debian9
pyenv:python3.6.5
django 2.0
oracle Client 12.2
oracle server 10.2
cx_Oracle 6.2

本来以为oracle的客户端必须和服务器端版本一致,这是个大坑
再次,我是下载zip版本的客户端安装的,配置的比较多,我少配了几处。还有,cx_Oracle 提示只支持oracle client 11.2以上版本。网上搜索出来的都是让降cx_Oracle 的版本,试着pip装3.5版本,但是各种报错不支持,都是坑,所以直接升级客户端就是了
https://oracle.github.io/odpi/doc/installation.html#linux
https://blog.csdn.net/andy_wcl/article/details/79470705
上面两个是安装oracle 客户端的安装说明,对我帮助比较大,感谢作者

先新建个目录,好将软件包下载并解压缩到应用程序可访问的单个目录中。

mkdir -p /opt/oracle   #新建一个安装的文件夹
cd /opt/oracle            #切换到文件夹

oracle客户端官网下载地址,选择相应的版本下载
http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html
我一共下了三个文件basic,sql,CDK,官网注册个账号下载就好
我是直接复制链接,用wget下载的

unzip instantclient-basic-linux.x64-12.2.0.1.0.zip   #解压下载到客户端文件

全部解压到同一个文件夹就好,解压的时候会自动创建instantclient_12_2目录,然后

sudo mkdir -p /opt/oracle/instantclient_12_2/network/admin  #新建admin文件夹
cd /opt/oracle/instantclient_12_2/network/admin
sudo nano tnsnames.ora

在上述目录新建tnsnames.ora文件,并编辑数据库链接信息,内容如下

oracle =  
(DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.197.1)(PORT = 1521))  
    (CONNECT_DATA =  
      (SERVER = DEDICATED)  
      (SID =xxx)  
    )  
)  

说是要装 libaio1 包

sudo apt-get install libaio1

如果计算机上没有其他受影响的Oracle软件,将Instant Client永久添加到运行时链接路径。

sudo sh -c "echo /opt/oracle/instantclient_12_2 > etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

接着配置环境变量

sudo nano ~/.zshrc  

我装了zsh,默认为.bash_profile
在文档结尾添加下面内容

export ORACLE_HOME=/opt/oracle/instantclient_12_2  
export TNS_ADMIN=$ORACLE_HOME/network/admin  
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  
export LD_LIBRARY_PATH=$ORACLE_HOME  
export PATH=$ORACLE_HOME:$PATH 

然后运行

source ~/.zshrc  #使配置生效
sqlplus username/password@oracle   #测试连接是否成功‘oracle’与之前配置的tnsnames.ora中的相同就可以

然后进ipython测试(没有的pip安装,很好用)

ipython

import os
import cx_Oracle
conn_str = u"用户名/密码@ip:端口/数据库名"
cx_Oracle.connect(conn_str) 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342