我在Mac Mini上的FileMaker Server 14上运行了一个FileMaker数据库,我试图用pyodbc来实现它。它进展不顺利。
首先,什么有效:
telnet 192.169.19.3 2399
ssh Name@192.169.19.3
tsql -H FM-Server -p 2399 -U Name -P pwd
关于最后一个的一个奇怪的事情是它给了我一个秒计数器:
1
2
不是提示,虽然我仍然可以输入命令。我不确定这意味着什么,也无法找到任何关于它的信息。
现在,什么都行不通:
tsql -LH 192.169.19.3
tsql -LH FM-Server
isql FM-Server Name pwd
没有列出的FileMaker服务器信息,isql给了我[ISQL]ERROR: Could not SQLConnect
,这对你知道非常有帮助
有一个问题是,在这一点上,我有点忘记我是否应该使用FM ODBC或FreeTDS作为我在pyodbc中的驱动程序,幸运的是它们都不起作用:
>>> c = pyodbc.connect("DRIVER={FreeTDS};DSN=FM-Server;UID=Name;PWD=pwd")
pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')
>>> c = pyodbc.connect("DRIVER={FileMaker ODBC};DSN=FM-Server;UID=Name;PWD=pwd")
pyodbc.Error: ('08S01', '[08S01] [unixODBC][FileMaker][FileMaker ODBC] Failed to connect to listener (2) (65535) (SQLDriverConnect)')
只给DSN冻结窗口。这是我的配置:
odbc.ini | /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini
[FM-Server]
Driver = FreeTDS
Host = 192.169.19.3
ServerName = FM-Server
UID = Name
PWD = pwd
Port = 2399
odbcinst.ini | /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini
[ODBC Drivers]
FileMaker ODBC = Installed
FreeTDS = Installed
[FileMaker ODBC]
Driver = /Library/ODBC/FileMaker ODBC.bundle/Contents/MacOS/fmodbc.so
Setup =
[FreeTDS]
Description = FreeTDS
Driver = /usr/local/Cellar/freetds/1.00.9/lib/libtdsodbc.0.so
Setup = /usr/local/Cellar/freetds/1.00.9/lib/libtdsodbc.0.so
UsageCount = 1
freetds.conf | /usr/local/Cellar/freetds/1.00.9/etc/freetds.conf
[FM-Server]
host = 192.169.19.3
port = 2399
tds version = 8.0
答案 0 :(得分:3)
我能够通过以下略微缩写来解决这个问题
brew uninstall freeDTS
brew uninstall unixODBC
pip uninstall pyodbc
使用ActualTech的安装程序重新安装了pyodbc(如果有必要,不确定):http://www.actualtech.com/python-osx-odbc.php
将我的odbc.ini切换为“Driver = FileMaker ODBC”而不是“Driver = freeTDS”,但考虑到我实际运行的代码,我不是那个必要的:
python
import pyodbc
c = pyodbc.connect("DRIVER={FileMaker ODBC};SERVER=192.169.19.3;PORT=2399;UID=Name;PWD=pwd")
神奇地工作了。 idk man