用pyodbc连接到FileMaker服务器
我有一台FileMaker数据库在Mac Mini上的FileMaker Server 14上运行,我试图用pyodbc来获取它。它进展不顺利。用pyodbc连接到FileMaker服务器
首先,是什么在起作用:
telnet 192.169.19.3 2399
ssh [email protected]
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
我可以用下面的,略有删节 brew uninstall freeDTS brew uninstall unixODBC pip uninstall pyodbc
重新安装pyodbc与ActualTech的安装程序(如果必要的话不知道)来解决这个问题:http://www.actualtech.com/python-osx-odbc.php
交换我的odbc.ini读“司机=的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
您一定需要使用FileMaker ODBC驱动程序。 FreeTDS适用于Microsoft SQL Server和Sybase。 –
谢谢,当我回到试验机,但是,在此期间,我会更新这个问题,你知道我怎么可以指向pyodbc从http://www.odbcmanager.net/ ODBC驱动程序管理器应用程序? – brnco
ODBC管理器应用程序大概是更新ODBC .ini文件内容的便捷方式。您可以使用它创建使用“FileMaker ODBC”驱动程序的DSN条目,并将该DSN写入odbc.ini。然后pyodbc将使用该DSN来连接,例如, 'cnxn = pyodbc.connect(“DSN = MyFileMakerDSN;”)'。请注意,为连接使用DSN时,连接字符串中只需要DSN * name *,因为其他属性(驱动程序,服务器,数据库...)是在DSN条目(在odbc.ini中)中定义的。 –