python sybase安裝

廢話不多說了,因爲sybase的python比較搞,所以在此留個記錄。

一開始不是很瞭解python-sybase怎麼有那麼多不同的client啊,ase client,open_client,freetds,真讓人迷惑。

最初,當我費了九牛二虎之力,把open_client和python都成功後,卻發現,要鏈接遠程主機,還需要使用制定在$SYBASE/interfaces中的名字服務,大怒,於是放棄之。總結一下,只單獨安裝sybase client的方法,sybase的linux全部包有800M不到,如果只是按照open client的話,其實之需要100M左右就好了:即只按照archives下邊的lang和open client,當然了locales下邊的那些語言包,要自己從ase的服務器拷貝了。

既然oc的那麼難用,於是就嘗試一下freetds,發現這個東西確實很方便,只需要主機/端口就可以了,而且其安裝後也不是很大,才幾M而已,如果是red hat,還有現成的rpm可以下載。總之,這個freetds確實挺不錯。但是如果用dsql或者python來訪問比較新的sybase,會出現:[quote]TDS: unexpected token 45[/quote]異常提示,其實這只是sybase服務器發回的locale信息而已,不影響正常的使用,但是如果在python中,卻是throw一個異常,我的解決辦法是修改python-sybase的源代碼(Sybase.py),找到
[quote]elif mn in (0, 1918, 5701, 5703, 5704, 11932) or ((mn >= 6200) and (mn < 6300)):
[/quote]
將21,加在 mn in(0,1918)之間,即(0,21,1918...)[color=red]5-25更新:最新的freetds應該不需要了[/color]
編譯的時候要定義 HAVE_FREETDS
[quote]python setup.py build_ext -DHAVE_FREETDS[/quote]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章