我正在尝试使用 RStudio (1.0.143) 在 R (3.3.3) 和 Filemaker Pro Advanced 15 (15.0.3.305) 之间建立连接。我正在尝试使用 RODBC (1.3-15) 创建连接。
到目前为止我:
Created a toy FM Pro database for testing
- 用户名:管理员
- 密码:密码
Followed these instructions for creating a DSN
为我的名为 test_r 的玩具 FM Pro 数据库创建了一个 DSN
成功测试到 test_r 的连接
尝试通过以下两种方式连接RStudio中的DSN失败:
fm_connection <- odbcConnect(dsn="test_r", uid="Admin", pwd="password")
返回以下错误:
[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specifiedODBC connection failed
和
constr <- paste("driver={FileMaker ODBC}",
"server=127.0.0.1",
"database=test_r",
"uid=Admin",
"pwd=password",
sep=";")
fm_connection <- odbcDriverConnect(constr)
返回以下错误:
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib 'FileMaker ODBC' : file not foundODBC connection failed
最后,我尝试使用这些(和其他)引用来解决这个问题,但没有成功:
- https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf
- https://community.filemaker.com/thread/165849
到目前为止似乎没有任何效果。我与 RODBC 无关,但我确实需要适用于 Mac OS 的解决方案。感谢您的帮助!
最佳答案
以下是 MacOS 的一些重要故障排除步骤。我在 R 中遇到了同样的错误,因此我认为这很有可能是您的问题。 ODBC 的设置可能相当复杂,因为涉及多个具有多个版本的软件组件。您已验证 ODBC 共享已在此特定 FileMaker 数据库中打开。
验证您的 unixodbc 安装:
ODBC 管理器实际上是可选的。它管理下面描述的 ini 文件。但是安装unixodbc后,你也可以在没有ODBC Manager的情况下在文本编辑器中编辑这些ini文件。
要安装 Homebrew,请执行此命令。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后,安装unixodbc。这提供了系统级别的 ODBC 连接。
酿造更新 brew 安装 unixodbc
验证驱动程序:
驱动应该安装在这里:
/Library/ODBC/FileMaker\ ODBC.bundle/Contents/MacOS
该文件夹将包含这两个文件:
SetupToolTemplate fmodbc.so
这是完整的驱动程序路径:
/Library/ODBC/FileMaker\ ODBC.bundle/Contents/MacOS/fmodbc.so
验证配置文件:
文件夹
/Library/ODBC
应该包含这些文件:
FileMaker ODBC.bundle odbc.ini odbcinst.ini
此外,unixodbc 应该只包含最新版本。如果您有较早的版本,请将其删除。现在,只有 2.3.4 存在。
/usr/local/Cellar/unixodbc/2.3.4
还包含
odbc.ini odbcinst.ini
镜像 odbc.ini 和 odbcinst.ini 文件:
如上所述,这些文件中的每一个在两个不同的位置都有两个副本。确保两者的内容相等。这意味着 odbcinst.ini 的两个副本都将定义驱动程序。 odbc.ini 的两个副本都将包含连接。也许这不是 100% 必要的,但这是我需要做的。
用 isql 测试:
B:etc bobby$ isql -v DSNname admin password
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
如果您在完成这些步骤后仍有任何问题,请分享更多详细信息,以便我更新答案。
关于r - 在 Mac 上将 R 连接到 Filemaker Pro 15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43700690/