oracle 10.2 连接超时,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 #切換到文件夾
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)
總結
以上是生活随笔為你收集整理的oracle 10.2 连接超时,debian9 python3.6连接oracle10.2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11g约束有哪几种状态,【简
- 下一篇: 我的世界里的盾牌怎么做(汉典我字的基本解