1、安裝pyhton3.7 的依賴包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
# 2、下載python3.7的“源碼”:
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
# 3、解壓並編譯安裝:
tar -xJvf Python-3.7.0.tar.xz
# 4、用cd命令進入解壓出來的Python文件夾
cd Python-3.7.0
# 5、用./方法執行configure,並指定安裝到usr目錄下
./configure --prefix=/usr/local/python3 --enable-shared
# 6、開始編譯安裝
make && make install
# 7、配置環境變量, 創建軟鏈接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 創建python3的軟鏈接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 # 創建pip的軟鏈接
# 8、將編譯目錄下的libpython3.7m.so.1.0文件復制到
cp /root/Python-3.7.0/libpython3.7m.so.1.0 /usr/lib64/libpython3.7m.so.1.0
2.python操作PostgreSQL數據庫
#1.安裝python操作PostgreSQL對應的標准庫psycopg2 pip install psycopg2
import psycopg2 #導入模塊
# 1.創建服務器鏈接
conn = psycopg2.connect(database="mrdb", user="mrdbuser", password="mrdbuser", host="20.200.47.197", port="5432")
# 2.建立游標,獲取數據
cur = conn.cursor()
# 3.執行sql語句
cur.execute("SELECT * from abs_deal")
rows = cur.fetchall() # 所有數據
for row in rows:
print(row)
# 關閉游標
cur.close()
# 關閉服務器
conn.close()
3.python連接遠程數據庫上的Oracle數據庫
-
安裝python操作Oracle對應的標准庫cx-Oracle pip install cx-Oracle
-
安裝instanctclient
如果本機沒有安裝Oracle數據庫,又要通過Python訪問遠程服務器上的Oracle,那么需要在本機上安裝instantclient。安裝可以從Oracle官網獲取安裝包;安裝地址為:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
-
將下載好的壓縮文件解壓的文件路徑追加到PATH環境變量中
-
在解壓縮的文件夾下創建一個命名為‘ tnsnames.ora ’的文件
在文件中寫入以下內容,根據實際情況修改HOST、SERVICE_NAME內容
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 20.200.47.203)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mrdb)
)
) -
將解壓的文件夾中的 oci.dll, oraocci12.dll,oraociei12.dll 所有以.dll結尾的文件拷貝到python安裝目錄下的lib/site-packages中
-
代碼操作
#1.安裝python操作Oracle對應的標准庫cx-Oracle pip install cx-Oracle
import cx_Oracle
# 1.連接數據庫,下面括號里內容根據自己實際情況填寫
#conn = cx_Oracle.connect('用戶名/密碼@IP:端口號/數據庫名稱')
conn = cx_Oracle.connect('mrmind/mrmind@20.200.47.203:1521/mrdb')
# 2.建立游標,獲取數據
cur = conn.cursor()
# 3.執行sql語句
cur.execute("SELECT * from ABSPAYMENT")
rows = cur.fetchall() # 所有數據
for row in rows:
print(row)
# 關閉游標
cur.close()
# 關閉服務器
conn.close()