我想配置我的odbc.ini
和odbcinst.ini
文件,以便在连接未指定驱动程序的情况下使用默认驱动程序。我认为在未指定驱动程序的情况下,有可能出现常见错误消息:
[unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)
但是我的DuckDuckGo-foo让我失败了。我尝试在[DEFAULT]
中设置odbc.ini
:
[DEFAULT]
Driver=Snowflake
但仍然出现错误(由于remainder of the configuration,“ Snowflake”是我指定时可以使用的有效驱动程序。)我还尝试在[DEFAULT]
上添加一个odbcinst.ini
部分,但没关系。
那么如何指定默认的UnixODBC驱动程序呢?
答案 0 :(得分:0)
鉴于your existing configuration files(odbcinst.ini
和odbc.ini
),我相信您可以通过向{{1}添加以下内容(如the ODBC spec中所述)来获得成功。 }-
odbcinst.ini
-和以下内容(如the ODBC spec中所述)到[Default]
Driver=Snowflake
-
odbc.ini
答案 1 :(得分:0)
基于discussion on @TallTed's pull request,我得出的结论是,尽管有ODBC default driver subkey的断言,但我无法在unixODBC配置文件中配置默认驱动程序,我认为@TallTed在their answer中正确解释。也许在将来,但至少就目前而言,我认为我只是误解了错误消息的含义:
Data source name not found, and no default driver specified
我一直认为这意味着主机上没有配置默认驱动程序。但是我想也许现在,它的实际含义是“在URL中找不到DSN,并且也没有Driver
参数可以依靠。” IOW,如果找不到DSN,则Driver
参数指定默认驱动程序。
这种解释与PR中讨论的发现是一致的。有点令人失望,但我认为可以通过改进的错误消息或至少进行某种文档更新来解释如何指定默认驱动程序来解决此问题。