我目前正在尝试 ping 一个 informix 数据库,
db, err := sql.Open("odbc","DNS=x")
if err != ni {
log.Fatal(err)
}
if err := db.Ping(); err != nil {
log.Printf("ping failed %#v", err)
} else {
log.Printf("ping success")
}
defer db.Close()
然后我收到这样的错误...
State: "H", NativeError:"-11060", Message:"[unixODBC]["
isql 运行良好,但我无法通过 alexbrainman odbc 驱动程序获得成功。 Windows 也可以正常工作。任何帮助将不胜感激。
最佳答案
原来是配置问题。显然,根据 informix 文档,odbc.ini 必须以 UCS-2 或 UCS-4 编码。这就是 unixODBC 使用配置文件的方式。
在odbc.ini的末尾,有一个[ODBC]部分,像这样取消UNICODE选项的注释
;
; UNICODE connection Section
;
[ODBC]
;uncomment the below line for UNICODE connection
UNICODE=UCS-2
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/extra/informix
TRACEDLL=idmrs09a.so
关于ubuntu - unixOBC、Golang、Informix、Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43267501/