我在Ubuntu 14.04上使用ODBC和FreeTDS。我們現在有三臺服務器可能在同一時間運行數據庫(一次只能運行一臺)。爲什麼一個ODBC連接工作,第二個不工作?
我嘗試將第二臺服務器添加到我的freetds.conf和odbc.ini文件中,但即使指定了相同的IP地址進行測試,它也不會連接。
odbc.ini文件
[Default]
Driver=NewFreeTDS
[MKMSDef]
Driver=NewFreeTDS
serverName=MKMSDefault
[MKMSSecond]
Driver=NewFreeTDS
serverName=MKMSSecond
[VP]
Driver=NewFreeTDS
ServerName=VirtualPrinter
freetds.conf文件
[global]
tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
dump file = /tmp/freetds.log
debug flags = 0xffff
# Command and connection timeouts
timeout = 10
connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
[MKMSSecond]
host = 10.1.10.71
database = MKMSDefault
port = 2638
[MKMSDefault]
host = 10.1.10.71
database = MKMSDefault
port = 2638
[VirtualPrinter]
host = 10.1.10.22
database = VP
port = 2638
isql命令MKMSDef用戶通成功連接 isql命令MKMSSecond用戶通失敗
我什麼也看不見了之間的不同兩個導致這一點。
編輯 經過一些進一步的測試。它似乎沒有讀取所有的信息來知道要連接到什麼。無論在odbc.ini中指定爲「ServerName」,都必須是數據庫名稱。它也需要在freetds.conf中定義,但只有IP和端口需要在那裏。
如果我連接到僅運行一個數據庫的計算機,則servername無關緊要。
這似乎不是正確的行爲。