Vivo s 15 pro:在Mac上将R连接到FilemakerPro15

我正在尝试使用 RStudio (1.0.143) 和 Filemaker Pro Advanced 15 (15.0.3.305) 创建 R (3.3.3) 之间的连接。我正在尝试使用 RODBC (1.3-15) 创建连接。

到目前为止我:

Created a toy FM Pro database for testing

用户 ID:管理员

密码:密码

Followed these instructions for creating a DSN

为我的玩具 FM Pro 数据库创建了一个名为 test_r 的 DSN

enter image description here

已成功测试与 test_r 的连接

enter image description here

尝试通过以下两种方式连接到 RStudio 中的 DSN 失败:

fm_connection <- odbcConnect(dsn="test_r", uid="Admin", pwd="pword")

返回以下错误:

[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=pword",
               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

However, you can see that the driver is there:enter image description here

最后,我没有成功尝试使用这些(和其他)引用来解决这个问题:

https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf https://community.filemaker.com/thread/165849

到目前为止似乎没有任何工作。我不依赖于 RODBC,但我确实需要一个适用于Mac OS的解决方案。任何帮助不胜感激!

1

以下是 MacOS 的一些重要故障排除步骤。我在 R 中有同样的错误,因此我认为这很有可能是你的问题。ODBC 的设置可能相当复杂,因为涉及多个版本的多个软件组件。你已经验证了 ODBC 共享在这个特定的 FileMaker 数据库中。

验证 unixodbc 的安装:

ODBC Manager 实际上是可选的。它管理下面描述的 ini 文件。但是在安装 unixodbc 之后,您也可以在没有 ODBC Manager 的文本编辑器中编辑这些 ini 文件。

要安装 Homebrew,请执行此命令。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后,安装 unixodbc。这在系统级别提供了 ODBC 连接。

brew 更新 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 pword
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

如果您在完成这些步骤后仍有任何问题,请分享其他详细信息,以便我可以更新答案。

0

我得到了这个工作使用 odbc 而不是 RODBC 一些新的 R 代码:

con <- DBI::dbConnect(odbc::odbc(),
                      driver = "/Library/ODBC/FileMaker ODBC.bundle/Contents/MacOS/FileMaker ODBC",
                      server = "127.0.0.1",
                      database = "/Users/bradcannell/Dropbox/Filemaker Pro/Notes/test_r.fmp12",
                      uid = "Admin",
                      pwd = "pword")

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(428)
0基础学python入门书籍:良好的密码学 /加密书籍(books about cryptography)
上一篇
Cdr缓存的文件在哪里:ESLint缓存存储在哪里
下一篇

相关推荐

  • concord是什么牌子:穿越时空,体验Concord的非凡之美

    Concord是一个美国安全品牌,专门为家庭和企业提供安全产品。它的产品包括家用安全系统、安全监控设备、智能锁、安全门等。代码:CONCORD…

    2023-03-13 11:05:04
    0 33 44
  • cords是什么意思:如何使用Cords来提高生产力

    示例示例Cords是一种常用的设计模式,它允许你把多个函数链接在一起,以便更好地处理复杂的逻辑。代码示例:…

    2023-01-28 07:40:52
    0 16 47
  • java foreach跳出本次循环:使用break语句跳出Java Foreach循环

    Java foreach跳出本次循环可以使用continue语句。continue语句会跳过当前循环中剩余的语句,然后继续下一次循环。…

    2023-01-11 12:12:41
    0 69 84
  • what can i do for you 回答:How Can I Help You?

    这取决于您想要我做什么。我可以帮助您完成一些编程任务,如创建网站,编写脚本,编写应用程序,编写API,编写数据库,编写算法,编写机器学习模型等。我也可以帮助您解决其他技术问题,如调试代码,优化性能,解决安全问题等。例如,我可以为您编写以下代码,以实现某些功能:…

    2023-01-26 13:54:16
    0 28 17
  • mifare classic tool怎么用:使用Mifare Classic Tool来管理你的Mifare Classic卡

    Mifare Classic Tool是一款开源的Android应用程序,它可用于读取和写入Mifare Classic NFC标签。它的主要功能是:…

    2023-02-17 15:24:20
    0 53 19
  • cordic算法详解:实现CORDIC算法的数学原理及其应用

    CORDIC(COordinate Rotation DIgital Computer)算法是一种基于反复旋转的数字算法,可以用来计算几何函数(如正弦、余弦、正切等)和其他复杂函数,因此也被称为旋转算法。它是一种非常有效的算法,可以在很少的时间内实现几何函数的计算。CORDIC算法的基本思想是:通过反复旋转向量,以达到计算几何函数的目的。它的具体步骤如下:…

    2023-01-14 16:01:55
    0 68 62
  • struct和class区别 A Comparison of Their Characteristics and Uses

    示例示例struct和class的主要区别在于:struct是值类型,class是引用类型。…

    2023-01-27 15:29:38
    0 68 69
  • curl 超时时间设置解决网络请求延迟的最佳实践

    示例示例cURL 超时时间设置是指在 cURL 发出请求后,等待服务器响应的最长时间。如果超过了设定的超时时间,则会收到一个超时错误。可以使用 curl_setopt() 函数来设置 cURL 超时时间,该函数的第一个参数是 cURL 资源句柄,第二个参数是 CURLOPT_TIMEOUT,用于设置 cURL 超时时间。…

    2023-02-22 07:17:34
    0 32 31

发表评论

登录 后才能评论

评论列表(24条)