安装和配置适用于 macOS 的 ODBC 驱动程序

与 Windows 类似,macOS 利用命名数据源 (DSNs) 将基于 ODBC 的客户端应用程序连接到 Snowflake。

本主题内容:

先决条件

操作系统

有关 Snowflake 客户端支持的操作系统列表,请参阅 操作系统支持

对于 ODBC 版本 3.0.1,驱动程序不再支持 MacOS 10.14 和 10.15 版本。

iODBC

需要安装适用于 iODBC 的 Snowflake ODBC 驱动程序。

要安装 iODBC,请执行以下操作:

  1. 下载 iODBC 后,双击下载的 .dmg 文件。

  2. 双击安装程序文件 iODBC-SDK.pkg,然后按照提示进行操作。

    默认情况下,包会将软件安装在 /Library/Application Support/iODBC/bin 目录。您可以将此目录添加到 $PATH 环境变量,这样在执行任意 iODBC 命令时,便无需每次都指定完整路径名。

备注

iODBC 提供了用于配置驱动程序和 DSNs 的 GUI 管理员工具;但是,此工具尚未经过 Snowflake 测试,因此不应用于创建或管理 DSNs。

第 1 步:安装 ODBC 驱动程序

要安装适用于 macOS 的 Snowflake ODBC 驱动程序,请执行以下操作:

  1. 如果您尚未下载驱动程序,请立即下载。有关详细信息,请参阅 下载 ODBC 驱动程序

  2. 打开下载的 .dmg 文件 snowflake_odbc_mac-<version>.dmg

  3. 打开安装程序文件 snowflakeODBC_<version>.pkg,然后按照提示操作。

    系统可能会提示您输入要安装驱动程序的机器的管理员/sudo 密码。

如果您在收到提示时选择默认目录,安装程序将在以下目录中安装 ODBC 驱动程序文件:

/opt/snowflake/snowflakeodbc

/Library/ODBC

第 2 步:配置 ODBC 驱动程序

要配置适用于 macOS 的 ODBC 驱动程序,请创建一个或多个数据源 (DSNs),它们存储在以下文件中,具体取决于您创建的 DSN 类型。

  • 用户 DSNs:~/Library/ODBC/odbc.ini

  • 系统 DSNs:/Library/ODBC/odbc.ini

要创建 DSN,请编辑适当的 odbc.ini 文件。

通过在 odbc.ini 文件中添加条目创建 DSN

如果已为驱动程序创建了用户或系统 DSN,请将新条目添加到 odbc.ini 文件中,该文件已存在于您要创建的 DSN 类型的相应目录中。如果要为驱动程序创建第一个 DSN,则必须手动创建 odbc.ini 文件并将条目添加到该文件中。

对于每个 DSN,请指定:

  • DSN 名称和驱动程序名称 (Snowflake),形式为 <dsn_name> = <driver_name>

  • 驱动程序文件的目录路径和名称,形式为 Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib

  • 连接参数,例如 serveruid (用户登录名)。添加到 DSN 的任何连接参数不需要在 ODBC 连接字符串中指定。

  • 任何其他参数,例如默认 roledatabasewarehouse

参数指定形式为 <parameter_name> = <value>。有关可为每个 DSN 设置的参数的详细信息,请参阅 ODBC 配置和连接参数

以下示例说明了一个 odbc.ini 文件,该文件配置两个数据源,这两个数据源在 server URL 中使用不同形式的 账户标识符

  • testodbc1 使用一个使用 账户标识符 的账户标识符,该账户标识符在组织 myorganization 中指定账户 myaccount

  • testodbc2 使用 账户定位器 xy12345 作为账户标识符。

    请注意,testodbc2 使用 AWS US 西部(俄勒冈)区域中的账户。如果账户位于不同的区域,或者账户使用不同的云提供商,则需要 在账户定位器之后指定其他分段

    [ODBC Data Sources]
    testodbc1 = Snowflake
    testodbc2 = Snowflake
    
    
    [testodbc1]
    Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
    Description =
    uid         = peter
    server      = myorganization-myaccount.snowflakecomputing.cn
    role        = sysadmin
    
    
    [testodbc2]
    Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
    Description =
    uid         = mary
    server      = xy12345.snowflakecomputing.cn
    role        = analyst
    database    = sales
    warehouse   = analysis
    
    Copy

请注意以下事项:

  • testodbc1testodbc2 都有默认角色。

  • testodbc2 还有默认的数据库和仓库。

第 3 步:测试 ODBC 驱动程序

您可以使用 iODBC 提供的 iodbctest 命令行实用程序来测试您创建的 DSNs。

当系统提示输入 ODBC 连接字符串时,输入所需的连接参数(DSN 名称、服务器、用户登录名和密码),以及您想要作为连接字符串的一部分输入的任何其他参数。连接字符串采用 <parameter_name>=<value> 形式的参数,例如 dsn=testodbc2,每个参数用分号 (;) 分隔,并且没有空格。有关支持的参数列表,请参阅 ODBC 配置和连接参数

备注

如果在 DSN 中设置服务器和用户登录名,则连接字符串中唯一需要的参数是 DSN 名称和用户密码。

例如:

$ "/Library/Application Support/iODBC/bin/iodbctest"

iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008

Enter ODBC connect string (? shows list): dsn=testodbc2;pwd=<password>

Dec 14 20:16:08 INFO  1299 SFConnection::connect: Tracing level: 4

Driver: 2.12.36 (Snowflake - Latest version supported by Snowflake: 2.12.38)

SQL>
Copy
语言: 中文