ODBC.jl icon indicating copy to clipboard operation
ODBC.jl copied to clipboard

ODBC v1.0.4 doesn't load sys drivers

Open baumgold opened this issue 5 years ago • 0 comments

ODBC v0.8.4 loaded the system specified odbc drivers by default. Upon upgrading to ODBC v1.0.4 that seems to no longer be the case when when setting OVERRIDE_ODBCJL_CONFIG=true and explicitly specifying ODBCSYSINI, ODBCINSTINI, and ODBCINI. How can I load the system-specified ODBC drivers using ODBC v1.0? See below for an example:

$ cat /etc/odbcinst.ini
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib/psqlodbcw.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/lib64/psqlodbcw.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

Using ODBC v1.0.4:

(v1.3) pkg> st
    Status `~/.julia/environments/v1.3/Project.toml`
  [be6f12e9] ODBC v1.0.4

julia> ENV["OVERRIDE_ODBCJL_CONFIG"] = true
true

julia> using ODBC
[ Info: Precompiling ODBC [be6f12e9-ca4f-5eb2-a339-a4f995cc0291]

julia> ODBC.setunixODBC(;ODBCSYSINI="/etc/odbc.ini", ODBCINSTINI="/etc/odbcinst.ini", ODBCINI=joinpath(homedir(), ".odbc.ini"))

julia> ODBC.drivers()
Dict{String,String} with 0 entries

Downgrade ODBC from v1.0.4 to v0.8.4:

(v1.3) pkg> st
    Status `~/.julia/environments/v1.3/Project.toml`
  [be6f12e9] ODBC v0.8.4

julia> using ODBC

julia> ODBC.drivers()
1×2 Array{String,2}:
 "PostgreSQL"  …  "Description=ODBC for PostgreSQL\0Driver=/usr/lib/psqlodbcw.so\0Setup=/usr/lib/libodbcpsqlS.so\0Driver64=/usr/lib64/psqlodbcw.so\0Setup64=/usr/lib64/libodbcpsqlS.so\0FileUsage=1\0"

baumgold avatar Dec 03 '20 17:12 baumgold