douzi9744
2017-04-06 23:46 阅读 169

unixOBC,Golang,Informix,Ubuntu

I'm currently trying to ping an informix database,

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()

and I get an error like this...

State: "H", NativeError:"-11060", Message:"[unixODBC]["

isql works fine, but I'm getting no luck via the alexbrainman odbc driver. Windows also works fine too. Any help would be appreciated.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dongxi7722 dongxi7722 2017-04-11 21:50

    This turns out to be a configuration problem. Appearently, odbc.ini has to be encoded in UCS-2 or UCS-4 according to the informix documentation. This turns out to be how the unixODBC consumes the configuration file.

    nearing the end of odbc.ini, there is an [ODBC] section, uncomment the UNICODE option like so

    ;
    ; 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
    
    点赞 评论 复制链接分享

相关推荐