在 Mac 上与 UnixODBC 和 FreeTDS 建立 MS Access 连接

Posted

技术标签:

【中文标题】在 Mac 上与 UnixODBC 和 FreeTDS 建立 MS Access 连接【英文标题】:Establishing MS Access connection with UnixODBC and FreeTDS on Mac 【发布时间】:2017-05-24 15:31:25 【问题描述】:

我一直在尝试使用 FreeTDS 和 UnixODBC 建立与本地硬盘驱动器上的 MS Access 数据库的连接。我的最终目标是通过 RODBC 打开 R 中的连接,并实现为这个特定数据库开发的一些 SQL 脚本来提取数据。我已遵循此页面 (How do I install RODBC on Mac OS X Yosemite with unixodbc and freetds?) 的建议,但仍然遇到问题。

当我在终端中实现 isql 时,我收到以下错误消息。

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect

我假设我的错误在于我如何在各种设置文件中识别主机,如下所示。

freetds.conf

[global]
;       tds version = 8.0
;       dump file = /tmp/freetds.log
;       debug flags = 0xffff
;       timeout = 10
;       connect timeout = 10
        text size = 64512

[my_db]
        # insert the actual host below
        host = My_computer_name.local 
        port = 1433
        tds version = 8.0

odbc.ini

[my_db]
Driver      = MSSQL
Servername  = My_computer_name.local
Port        = 1433
Database    = /filepath_to_db/my_db.mdb
TDS_Version = 8.0

odicinst.ini

[MSSQL]
Description   = Microsoft SQL Server driver
Driver        = /usr/local/Cellar/freetds/1.00.39/lib/libtdsodbc.so
Setup        = /usr/local/Cellar/freetds/1.00.39/lib/libtdsodbc.so

【问题讨论】:

MS Access 专为在 Windows 环境中使用而设计。考虑一个类似的文件级数据库,例如开源 SQLite,兼容不同的操作系统和 R。 【参考方案1】:

FreeTDS 用于连接 Microsoft SQL Server 和 Sybase 数据库。它不适用于 Microsoft Access 数据库。

【讨论】:

以上是关于在 Mac 上与 UnixODBC 和 FreeTDS 建立 MS Access 连接的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 上与 AVR 微控制器交互

如何让 Firefox 在 Mac OSX 上与 Selenium WebDriver 一起工作

CakePHP 和使用 Unixodbc 连接到 MS Access db

FreeTDS 和 unixodbc 安装和配置

无法使用 unixodbc、libmyodbc 连接到远程 mysql 服务器

M1 Mac 上的 Pyodbc