Linux下Python訪問SQLServer

來源:互聯網
上載者:User

標籤:linux   sqlserver   python   

以root許可權操作


1.安裝unixODBC 【http://www.unixodbc.org/】

sh configure --prefix=/usr/local/unixODBC

make

make install


2.安裝freetds 【http://www.freetds.org/software.html】

sh configure -prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC /

-with-tdsver=8.0 -enable-msdblib -enable-dbmfix -with-gnu-ld -enable-shared -enable-static

make

make install


註:指明--with-unixodbc=/usr/local/unixODBC可以產生libtdsodbc.so


3.配置unixODBC


進入/usr/local/unixODBC

建立檔案tds.driver.template


[TDS]

Description = FreeTDS Driver for Linux & MSSQL on Win32

Driver = /usr/local/freetds/lib/libtdsodbc.so

Setup = /usr/local/freetds/lib/libtdsS.so

儲存後執行命令


bin/odbcinst -i -d -f tds.driver.template


建立檔案tds.datasource.template


[my_data]

Description = Connection to windows virtual machine

Driver = TDS

Trace = No

Database = aa

Server = 192.168.7.3

Port = 1433

TDS_Version = 8.0

儲存後執行命令


bin/odbcinst -i -s -l -f tds.datasource.template


4.測試freetds和unixODBC

進入/usr/local/freetds/目錄下

執行命令

bin/tsql -H192.168.7.3 -p1433 -Usa -Padmin1234

1>use aa

2>select * from sysfiles

3>go

再進入

/usr/local/unixODBC

執行命令

bin/isql my_data sa admin1234

SQL>select * from sysfiles


5.安裝pyODBC 【http://code.google.com/p/pyodbc/】

首先安裝python2.4.4版,步驟:

./configure

make

make install

然後編譯安裝

python setup.py install

註:如果編譯出錯,請

cp /usr/local/unixODBC/include/* /usr/include/

cp /usr/local/unixODBC/lib/* /usr/lib/

然後再運行


6.python測試代碼

import pyodbc

conn = pyodbc.connect("DSN=my_data;UID=sa;PWD=admin1234;DATABASE=aa;")

sql = ‘select * from sysfiles‘

cursor = conn.cursor()

cursor.execute(sql)

rs = cursor.fetchall()

if len(rs) > 0:

for i in range(0, len(rs)):

row = rs[i]

print row[0]

cursor.close()

conn.close()


*7.如果其他賬戶下使用pyodbc

將第5步產生的檔案pyodbc.so複製到zenoss的python目錄下

cp /usr/local/lib/python2.4/site-packages/pyodbc.so /opt/zenoss/lib/python2.4/site-packages/

【pyodbc.so可能位於/usr/lib/python2.4/site-packages/目錄下】

這樣就可以zenoss使用者使用pyodbc了


本文出自 “7727197” 部落格,請務必保留此出處http://7737197.blog.51cto.com/7727197/1663087

Linux下Python訪問SQLServer

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.