pyodbc - 使用 pyodbc 连接到 FileMaker Server

标签 pyodbc filemaker freetds unixodbc

我有一个 FileMaker db 在 Mac Mini 上的 FileMaker Server 14 上运行,我正在尝试使用 pyodbc 来获取它。进展不顺利。

首先,什么有效:

telnet 192.169.19.3 2399
ssh Name@192.169.19.3
tsql -H FM-Server -p 2399 -U Name -P pwd

关于最后一个奇怪的事情是它给了我一个秒计数器:12不是提示,虽然我仍然可以输入命令。我不确定这意味着什么,也找不到任何有关它的信息。

现在,什么不起作用:
tsql -LH 192.169.19.3
tsql -LH FM-Server
isql FM-Server Name pwd

FileMaker Server 没有列出信息,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 

任何信息都非常感谢,并向资源大喊 here , here ,以及其他地方帮助我走到这一步。

最佳答案

我能够用以下稍微简化的方法解决这个问题 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人

关于pyodbc - 使用 pyodbc 连接到 FileMaker Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38938398/

相关文章:

mysql - 使用 MySQL 通过 ODBC 包装另一个 DBMS

sql-server - 无法为 CMS WebGUI 创建数据库链接

python - 如何在 Airflow 中的 dag 中使用 pyodbc 连接到 SQL Server

python - DjangoUnicode解码错误: 'utf8' codec can't decode with pyodbc-azure

python - PYODBC InterfaceError-未找到数据源名称

Filemaker:If 语句倍数

python - pyodbc 和 sql server,将 datetime.date 应用于 DATE 列

python - pyodbc 将 SQL Server DATE 字段作为字符串返回

python - 在 Win7 上导入 pyodbc 会导致 DLL 加载失败,错误代码为 193

api - 在Flutter应用程序中使用Dart的400错误请求尝试连接到FileMaker Database