【问题标题】:ODBC Driver 17 for SQL Server on apple M1苹果 M1 上用于 SQL Server 的 ODBC 驱动程序 17
【发布时间】:2021-05-04 22:10:53
【问题描述】:

我正在尝试让 SQL Server 的 ODBC 驱动程序 17 工作,但不知何故它不适用于我全新的苹果 M1。 显然我安装了 unixodbc 和驱动程序,但启动它们不起作用。看起来 odbc 驱动程序还没有为架构做好准备(见下面的输出)。微软驱动程序甚至看起来都不是问题,但来自 unixodbc 的通用库 - 我正确吗?

如果可以自己编译,有什么想法吗?

XXX@M1 ~ % odbcinst -j
unixODBC 2.3.9
DRIVERS............: /opt/homebrew/etc/odbcinst.ini
SYSTEM DATA SOURCES: /opt/homebrew/etc/odbc.ini
FILE DATA SOURCES..: /opt/homebrew/etc/ODBCDataSources
USER DATA SOURCES..: /Users/XXX/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
XXX@M1 ~ % sqlcmd
dyld: Library not loaded: /usr/local/lib/libodbc.2.dylib
  Referenced from: /opt/homebrew/bin/sqlcmd
  Reason: no suitable image found.  Did find:
    /usr/local/lib/libodbc.2.dylib: mach-o, but wrong architecture
    /usr/local/lib/libodbc.2.dylib: mach-o, but wrong architecture
    /opt/homebrew/Cellar/unixodbc/2.3.9/lib/libodbc.2.dylib: mach-o, but wrong architecture
    /opt/homebrew/Cellar/unixodbc/2.3.9/lib/libodbc.2.dylib: mach-o, but wrong architecture

【问题讨论】:

    标签: odbc unixodbc apple-m1


    【解决方案1】:

    我不熟悉 odbcinst,但一般来说,在 Apple Silicon (M1) 上从终端运行时,如果库不是通用的,您有两种选择:

    1. 将终端设置为在 Rosetta2 上运行,或
    2. 在你的命令前加上arch -x86_64

    建议你试试

    arch -x86_64 odbcinst -j

    阅读更多关于此here 的信息。 (是的,链接讲的是 Flutter,但解决方案是一样的。)

    【讨论】:

    • 不幸的是,这没有成功。我认为为 arm64 正确安装了 unixODBC,但 Microsoft ODBC 驱动程序没有。 FreeTDS 有效,所以我只是在等待微软解决这个问题(希望这是根本问题......)
    • 但是如果你安装 x86_64 版本的 unixODBC,使用 MS ODBC 驱动程序,并在 Rosetta2 下运行,同时等待 MS 更新驱动程序呢? Rosetta2 非常快,甚至可能比您在旧的基于 Intel 的 Mac 上的执行速度还要快。 (只是一个想法。)
    • 如果我运行选项 2,我会收到此错误。'arch: posix_spawnp: odbcinst: Bad CPU type in executable'
    • 我还尝试使用 Rosetta 复制 iTerm 并重新安装自制软件,但是当我运行 odbcinst -j 时,我仍然看到:驱动程序............:/opt/homebrew/等/odbcinst.ini。我完全迷路了。非常感谢任何帮助。
    • 根据 Microsoft odbc driver for Mac 的 GitHub 页面,他们计划在下一个版本中支持 M1。让我们继续关注
    猜你喜欢
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多