在MAC上使?FreeTDS、 UnixODBC、pyodbc連接Sybase

提要:項(xiàng)目需要使用python去連接操作Sybase,由于我的電腦是Mac,需要先配置相關(guān)環(huán)境才能進(jìn)一步操作它。

安裝UnixODBC

brew install unixodbc

安裝配置FreeTDS

下載

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.3.13.tar.gz

安裝

tar zxvf freetds-1.3.13.tar.gz cd freetds-1.3.13 ./configure --prefix=/usr/local/Cellar/freetds --with-unixodbc=/usr/local --with-tdsver=5.0 make && make install

要記住安裝位置/usr/local/Cellar/freetds 安裝版本5.0 這兩個(gè)是可以根據(jù)你的需要進(jìn)行修改的。

配置freetds.conf

[NBDB] 
    host = IP 地址
    port = 端?號(hào)
    tds version = 5.0
    client charset = UTF-8

[]內(nèi)填寫??需要連接的實(shí)例名,host和port填寫??服務(wù)的ip和端?

測(cè)試鏈接

/usr/local/Cellar/freetds/bin/tsql -S NBDB -U xxx -P xxx

注意權(quán)限問(wèn)題,我這里只要root賬戶可以操作鏈接測(cè)試

返回如下,代表鏈接成功

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select @@version 
2> go 
@@version 
17.0.10.6175
 (1 row affected)

配置odbc.ini和odbcinst.ini

找到文件的位置

odbcinst -j

返回如下

unixODBC 2.3.9
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /Users/wangying/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

根據(jù)返回的位置,找到odbcinst.ini和odbc.ini,進(jìn)行配置,配置如下:

# odbcinst.ini 
[SQL Anywhere 17] 
Description = SAP SQL Anywhere 17 ODBC Driver 
Driver = /usr/local/Cellar/freetds/lib/libtdsodbc.so 
UsageCount = 1

 # obdc.ini 
[nbdbdsn] 
Driver = SQL Anywhere 17 
ServerName = NBDB 
Database = NBDB

python鏈接Sybase

安裝pyodbc

pip install pyodbc

使用如下:

import pyodbc 
conn=pyodbc.connect("DSN=nbdbdsn;UID=uid;pwd=password") 
cursor=conn.cursor() 
#輸出數(shù)據(jù)庫(kù)中所有表名 
cursor.execute("select name from sysobjects where type ='U'") 
for i in cursor:
 print(i)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容