【问题标题】:How do I configure a default driver for UnixODBC?如何为 UnixODBC 配置默认驱动程序?
【发布时间】:2019-07-17 22:16:48
【问题描述】:

我想配置我的odbc.iniodbcinst.ini 文件以允许在连接未指定驱动程序时使用默认驱动程序。我认为在未指定驱动程序时可能会出现常见错误消息:

[unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)

但是我的 DuckDuckGo-foo 让我失望了。我尝试在odbc.ini 中设置[DEFAULT]

[DEFAULT]
Driver=Snowflake

但仍然出现错误(由于remainder of the configuration,“Snowflake”是一个有效的驱动程序,当我指定它时可以工作。)我还尝试在odbcinst.ini 中添加一个[DEFAULT] 部分,但它没有任何区别.

那么如何指定一个默认的 UnixODBC 驱动程序呢?

【问题讨论】:

    标签: odbc driver unixodbc


    【解决方案1】:

    基于discussion on @TallTed's pull request,我得出的结论是,尽管ODBC default driver subkey 的断言我认为@TallTed 正确解释了,但遗憾的是,无法在unixODBC 配置文件中配置默认​​驱动程序在their answer。也许在未来,但至少现在,我想我只是误解了错误信息的含义:

    Data source name not found, and no default driver specified
    

    我一直假设这意味着主机上没有配置默认驱动程序。但我现在想,它的实际意思可能是“在 URL 中找不到 DSN,也没有 Driver 参数可以依靠”。 IOW,如果找不到 DSN,Driver 参数指定默认驱动程序。

    这种解释与 PR 中讨论的结果一致。这有点令人失望,但我认为可以通过改进的错误消息或至少某种文档更新来解释如何指定默认驱动程序来修复它。

    【讨论】:

      【解决方案2】:

      鉴于your existing configuration filesodbcinst.iniodbc.ini),我相信您会通过将以下内容(如the ODBC spec 中所述)添加到odbcinst.ini 来获得成功--

      [Default]
      Driver=Snowflake
      

      -- 以及以下(如the ODBC spec 中所述)到odbc.ini--

      [Default]
      Description=SnowflakeDB
      Driver=Snowflake
      Locale=en-US
      SERVER=SF_ACCOUNT.snowflakecomputing.com
      PORT=443
      SSL=on
      ACCOUNT=SF_ACCOUNT
      

      【讨论】:

      • 哦,与我尝试的相反(odbc.ini 中的两行和odbcinst.ini 中的欺骗部分。遗憾的是它似乎对我不起作用,至少不适用于 DBD::ODBC . :-( 不过会继续玩弄它。
      • 这看起来确实是正确的答案,但遗憾的是不起作用。我仍然收到错误“找不到数据源名称,并且没有指定默认驱动程序”。如果我在连接字符串中明确传递Driver=Default,它会找到它,尽管它当然会抱怨Snowflake 库不存在。当我通过Driver=Snowflake 时工作正常。 :-(
      • @theory - 我建议您更新我们必须查看的配置文件,以便我们了解您正在尝试和/或尝试过的内容。您无需替换当前文件;添加像 1.odbc.ini1.odbcinst.ini2.odbc.ini2.odbcinst.ini 这样的对,可以让我们清楚地看到事情。这些配置文件中的小错别字是地狱,除非我们能看到丢失的/多余的字符/行/任何东西,否则不可能用“我试过 xyz”来解决。
      • 我已经把他们推到this branch
      • @theory - PR#16 提交了我认为会带来成功的更改。 Driver={Snowflake Driver}可能需要是Driver=Snowflake DriverDriver=/usr/lib/snowflake/odbc/lib/libSnowflake.so
      猜你喜欢
      • 2019-02-27
      • 2020-06-11
      • 2019-02-21
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2010-10-25
      • 1970-01-01
      相关资源
      最近更新 更多