一開始不是很瞭解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的服務器拷貝了。
Grails跟Hibernate和Mongodb的組合 既然oc的那麼難用,因而就嘗試一下freetds,發現這個東西確實很方便,只須要主機/端口就能夠了,並且其安裝後也不是很大,才幾M而已,若是是red hat,還有現成的rpm能夠下載。總之,這個freetds確實挺不錯。可是若是用dsql或者python來訪問比較新的sybase,會出現: 引用 TDS: unexpected token 45 異常提示,其實這只是sybase服務器發回的locale信息而已,不影響正常的使用,可是若是在python中,倒是throw一個異常,個人解決辦法是修改python-sybase的源代碼(Sybase.py),找到 引用 elif mn in (0, 1918, 5701, 5703, 5704, 11932) or ((mn >= 6200) and (mn < 6300)): 將21,加在 mn in(0,1918)之間,即(0,21,1918...)5-25更新:最新的freetds應該不須要了 編譯的時候要定義 HAVE_FREETDS 引用 python setup.py build_ext -DHAVE_FREETDS