我使用的是Python的MacOS系統安裝而不是virtualenv。在這我已經安裝了freetds和pymssql 2.1。該連接細使用數據庫:使用pymssql 2.2不連接到SQL服務器
pymssql.connect(server='the.host.name\instance', user='username' etc . .).
意識到的virtualenv是做的東西我創建了一個基於2.7蟒蛇虛擬env和試圖點子安裝pymssql但得到一個錯誤信息的正確方法。快速狩獵發現修復 - 即從混帳與安裝:
pip install git+https://github.com/pymssql/pymssql.git
但現在我的連接調用返回一個主機不響應錯誤。我用tsql來調試(TDSDUMP = stdout),它看起來像地址\實例導致了一個問題。連接到有地址但沒有實例的數據庫工作正常
當我恢復到我的系統範圍安裝並運行它時,我看到freetds將數據庫實例的端口號解析爲特定端口(portNo)。
在我的virtualenv下,如果我使用此端口號對pymssql進行調用,那麼我的連接就沒有問題。
pymssql.connect(server='the.host.name\instance', user='username', port='portNo', etc . . .)
雖然這個解決方案的工作 - 我猜測,服務器上的任何更改可能會打破它。
任何想法爲什麼我的pymssql調用在這些情況下失敗?