亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Linux下通過python訪問MySQL、Oracle、SQL Server數據庫的方法

2020-01-04 17:31:00
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Linux下通過python訪問MySQL、Oracle、SQL Server數據庫的方法,需要的朋友可以參考下
 

本文檔主要描述了Linux下python數據庫驅動的安裝和配置,用來實現在Linux平臺下通過python訪問MySQL、Oracle、SQL Server數據庫。
其中包括以下幾個軟件的安裝及配置:
unixODBC
FreeTDS
pyodbc
cx_Oracle

歡迎轉載,請注明作者、出處。
作者:張正
QQ:176036317
如有疑問,歡迎聯系。       

本文檔主要描述了Linux下python數據庫驅動的安裝和配置,用來實現在Linux平臺下通過python訪問MySQL、Oracle、SQL Server數據庫。

一、前提概述... 
二、驅動安裝...
1. unixODBC安裝... 
2. FreeTds安裝... 
3. pyodbc安裝...
4. cx_Oracle安裝... 
三、驅動配置... 
四、連接測試...

一、前提概述

pyodbc是一個Python模塊,能夠讓python使用 ODBC 連接來自Windows, Linux, OS/X等系統中的大部分數據庫。pyodbc依賴于unixODBC和FreeTDS,因此需要先安裝unixODBC和FreeTDS。(FreeTDS是一個開源的C程序庫,它可以實現在Linux系統下訪問操作SQL Server數據庫)
cx_Oracle 是一個用來連接并操作 Oracle 數據庫的 Python 擴展模塊, 支持包括 Oracle 9.2 10.2 以及 11.1 等版本。

二、驅動安裝

1. unixODBC安裝
         a.下載unixODBC安裝包:unixODBC-2.3.2.tar.gz
         下載地址:http://www.linuxfromscratch.org/blfs/view/cvs/general/unixodbc.html
         b.解壓:tar -zxf unixODBC-2.3.2.tar.gz
         c.安裝:cd unixODBC-2.3.2
         ./configure --enable-gui=no
         make
         make install
         NOTES:
         編譯安裝三個步驟之間,可通過echo $?查看退出狀態,為0則正常,可進行下一步操作。(MYSQL驅動可安裝MySQL-python.x86_64)
 
2. FreeTds安裝
         下載FreeTds安裝包:freetds-stable.tgz
         下載地址:http://www.freetds.org/
         tar -zxvf freetds-stable.tgz
         cd freetds-0.91
./configure --prefix=/etc/freetds --with-tdsver=7.0 --enable-msdblib --with-gnu-ld  --enable-shared --enable-static
         make
         make install
         同樣可通過echo $?查看退出狀態,安裝完后可查看freeTds相關版本及安裝信息:
         cd src/apps/
         ./tsql -C

[root@localhost apps]# ./tsql -C Compile-time settings (established with the "configure" script)              Version: freetds v0.91       freetds.conf directory: /usr/local/etc   MS db-lib source compatibility: no    Sybase binary compatibility: no           Thread safety: yes           iconv library: yes            TDS version: 7.1               iODBC: no              unixodbc: yes       SSPI "trusted" logins: no              Kerberos: no

3. pyodbc安裝
下載pyodbc-3.0.6.zip
下載地址:http://www.49028c.com/softs/453989.html
unzip pyodbc-3.0.6.zip
cd pyodbc-3.0.6
python setup.py build
python setup.py install
NOTES:安裝時build 遇到以下錯誤,而且gcc相關包已經安裝完全

 

復制代碼代碼如下:

/root/software/pyodbc-3.0.6/src/connection.h:27: error: ‘uintptr_t' does not name a type
error: command 'gcc' failed with exit status 1

 

 查看python版本,發現其為python 2.4,通過官網下載頁面信息對比,可知pyodbc-3.0.6不支持python 2.4,重新下載pyodbc-2.1.7安裝即可。
 
4. cx_Oracle安裝

4.1. 下載:cx_oracle:cx_Oracle-5.1.2-10g-py27-1.x86_64.rpm
http://sourceforge.net/projects/cx-oracle/files/
NOTES:
需要下載對應版本的驅動
 
4.2  oracle instant client 安裝:
gunzip 10201_client_linux_x86_64.cpio.gz
cpio -idmv < 10201_client_linux_x86_64.cpio
在~/.bash_profile中添加oracle相關配置:

復制代碼代碼如下:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/client_10g
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH

 

建立oracle用戶和文件目錄

 

復制代碼代碼如下:

groupadd dba
useradd -g dba oracle
su - oracle
mkdir -p /opt/oracle/client_10g

 

配置.bash_profile
回到root用戶:

mv client /home/oracle/
[root@localhost software]# chown -R oracle:dba /home/oracle/client
 
su - oracle 進行安裝:

復制代碼代碼如下:

cd /home/oracle/client/response
vi instantClient.rsp

修改以下參數:
復制代碼代碼如下:

UNIX_GROUP_NAME=dba
ORACLE_HOME=/opt/oracle/client_10g
ORACLE_HOME_NAME=OraClient10ghome1
cd ../
./runInstaller -silent -noconfig -responseFile /home/oracle/client/response/instantClient.rsp
python setup.py build
python setup.py install

 

4.3 安裝cx_Oracle:

 

復制代碼代碼如下:

rpm -ivh cx_oracle:cx_Oracle-5.1.2-10g-py27-1.x86_64.rpm

 

三、驅動配置

 1. 配置freetds:
vi /etc/freetds/etc/freetds.conf
text size = 10240000
client charset = UTF-8
 
2. 配置freetds驅動:
vi freetds.ini
[FreeTDS]
Description     = 0.91 with protocol v7.0
Driver          = /etc/freetds/lib/libtdsodbc.so
 
odbcinst -i -d -f freetds.ini
 
3. 配置數據源:
vi db.ini
[SQLSERVER]
Driver = FreeTDS
Description = SQLSERVER
Trace   =No
Server  =192.168.16.13
Port    =1433
Database=master
#此處需要配置SQL Server數據的連接信息
 
odbcinst -i -s -f db.ini
 
cat /root/.odbc.ini
[SQLSERVER]
Driver=FreeTDS
Description=SQLSERVER
Trace=No
Server=192.168.16.13
Port=1433
Database=master
 
NOTES:
若見到以下錯誤:

 

復制代碼代碼如下:

import cx_Oracle
Traceback (most recent call last):
  File "", line 1, in ?
ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory

 

則需要找到對應的文件建立軟鏈接,如:
ln -s /opt/oracle/db_10g/lib/libclntsh.so.10.1 /usr/lib64/libclntsh.so.10.1
 
四、連接測試
1. 前提說明:
         本處提供的連接測試,僅僅是一個簡單的連通并發起查詢,以證明驅動的正確安裝和配置。
         可先進行import 查看驅動安裝是否有誤:

 

復制代碼代碼如下:

[root@localhost etc]# python
Python 2.4.3 (#1, Apr 14 2011, 20:41:59)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb #測試MySQL
>>> import cx_Oracle #測試Oracle
>>> import pyodbc   #測試pyodbc,可訪問SQL Server
>>>

 

若驅動正確安裝,執行import操作就不會報錯。

2. MySQL連接測試:

[root@localhost software]# cat mysql_test.pyimport MySQLdbsql='show databases';conn=MySQLdb.connect(host='localhost',user='test',passwd='test',db='test',port=3306)cur=conn.cursor()cur.execute(sql)print cur.fetchone() [root@localhost software]# python mysql_test.py('information_schema',)

3.Oracle連接測試:

[root@localhost software]# cat test.pyimport timeimport cx_Oraclesql2="select * from tab";connstr="system/oracle@192.168.43.130:1521/orcl"conn=cx_Oracle.connect(connstr)cur=conn.cursor()aa=cur.execute(sql2)print cur.fetchone()print cur.rowcountprint "connection string is  : ",conn.dsnprint "the database version is: ",conn.version [root@localhost software]# python test.py('SYSCATALOG', 'SYNONYM', None)1connection string is  : 192.168.43.130:1521/orclthe database version is: 10.2.0.1.0

4.SQL Server連接測試

復制代碼代碼如下:

[root@localhost software]# cat test_sqlserver.py
import pyodbc
dd=sqlserver('DRIVER=FreeTDS;SERVER=192.168.16.13;PORT=1433;DATABASE=master;UID=dba_test_tmp;PWD=nimeia;TDS_Version=8.0;',"select getdate() as '時間'")

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
17婷婷久久www| 亚洲xxxx在线| 在线日韩欧美视频| 久久精品99无色码中文字幕| 国外成人在线视频| 国产精品久久久久久久久粉嫩av| 国产精品678| 成人羞羞国产免费| y97精品国产97久久久久久| 久久影院在线观看| 国产精品网红福利| 欧美亚洲激情在线| 国产精品久久久av久久久| 国外成人在线直播| 国产精品永久免费观看| 国产成人97精品免费看片| 夜夜躁日日躁狠狠久久88av| 日韩电影免费观看在线观看| 亚洲网站在线看| 欧美激情亚洲国产| 日韩午夜在线视频| 亚洲毛片在线免费观看| 欧美理论电影在线观看| 9.1国产丝袜在线观看| 日本一区二区三区四区视频| 国产精品一区二区三区免费视频| 欧美日韩国产影院| 最新69国产成人精品视频免费| 欧美日韩午夜剧场| 91欧美精品午夜性色福利在线| 亚洲国产日韩欧美在线99| 欧美大奶子在线| 国产精品69久久| 国产激情久久久| 社区色欧美激情 | 国产成人精品视频| 国产97人人超碰caoprom| 欧美巨乳美女视频| 亚洲色图综合网| 国产精品aaaa| 国产精品一区二区三区久久久| 国产精品久久久久久久电影| 国产精品极品美女粉嫩高清在线| 国产在线999| 久久久久久成人| 国产精品高潮呻吟久久av野狼| 热久久免费视频精品| 久久久久久综合网天天| 日韩美女视频中文字幕| 日韩亚洲欧美中文在线| 欧美理论电影在线播放| 中文字幕精品www乱入免费视频| 色综合91久久精品中文字幕| 色偷偷88888欧美精品久久久| 欧美激情高清视频| 欧美性色视频在线| 久久婷婷国产麻豆91天堂| 日韩电影免费在线观看| 国产精品欧美日韩| 国产成人精品久久二区二区91| 亚洲男人的天堂在线播放| 国产偷国产偷亚洲清高网站| 992tv成人免费视频| 欧美日韩国产中字| 中文字幕亚洲欧美在线| 国产一区二区三区中文| 中国人与牲禽动交精品| 俺去亚洲欧洲欧美日韩| 久久男人资源视频| 日韩福利视频在线观看| 国产日本欧美一区二区三区在线| 亚洲一区二区三| 欧美精品九九久久| 久久91超碰青草是什么| 一区二区三区 在线观看视| 日韩欧美国产黄色| 国产剧情久久久久久| 高清在线视频日韩欧美| 欧美激情2020午夜免费观看| 日韩欧美国产免费播放| 日韩电影中文字幕在线观看| 日本精品性网站在线观看| 欧美韩国理论所午夜片917电影| 国产精品日本精品| 欧美精品中文字幕一区| 国产成人97精品免费看片| 91精品国产九九九久久久亚洲| 久久精品电影网站| 欧美激情视频播放| 国产有码在线一区二区视频| 国产精品一二三在线| 亚洲国产精品人久久电影| 国产精品久久久久久久av电影| 国产精品久久久久aaaa九色| 日本欧美黄网站| 中文字幕久久久| 亚洲激情免费观看| 亚洲第一区中文字幕| 91精品国产高清久久久久久久久| 亚洲免费精彩视频| 亚洲激情免费观看| 亚洲人成亚洲人成在线观看| 亚洲专区在线视频| 欧美性猛交xxxx乱大交极品| 日韩av黄色在线观看| 国产精品对白刺激| 国产91av在线| 日韩综合视频在线观看| 91精品视频专区| 57pao精品| 日本最新高清不卡中文字幕| 欧美大尺度在线观看| 欧美裸体xxxx极品少妇| 国产在线久久久| 亚洲综合精品一区二区| 5566日本婷婷色中文字幕97| 欧美精品福利在线| 久热精品视频在线免费观看| 日韩精品中文字幕有码专区| 日本免费一区二区三区视频观看| 欧美成人免费va影院高清| 日韩中文字幕网址| 国产精品大片wwwwww| 91久久精品日日躁夜夜躁国产| 欧洲精品毛片网站| 欧美成年人视频| 亚洲大胆人体av| 久久国产精品免费视频| 色99之美女主播在线视频| 91精品国产91久久久久久吃药| 黑人精品xxx一区| 精品国产91乱高清在线观看| 热99精品里视频精品| 国内精品久久久久久久| 久久精品国产亚洲| 亚洲深夜福利网站| 亚洲国产成人在线播放| 久久久久久久久久久久久久久久久久av| 亚洲大胆人体av| 秋霞成人午夜鲁丝一区二区三区| 97视频免费在线观看| 亚洲最大中文字幕| 亚洲精品美女久久| 亚洲人成自拍网站| 日韩在线观看电影| 亚洲综合视频1区| 国产精品日韩在线| 亚洲欧美综合图区| 26uuu另类亚洲欧美日本一| 91久久精品国产| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品影片在线观看| 91精品国产自产在线老师啪| 欧美极度另类性三渗透| 国产成人综合av| 精品国产依人香蕉在线精品| 国产亚洲欧美日韩美女| 91情侣偷在线精品国产| 亚洲欧美激情一区| 91国产在线精品| 国产精品精品久久久| 丝袜美腿亚洲一区二区| 亚洲成人久久电影| 午夜精品在线视频|