ubuntu - unixOBC、Golang、Informix、Ubuntu

标签 ubuntu go odbc informix

我目前正在尝试 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/

相关文章:

java - OpenCV 2.4.9 在 eclipse Juno 上使用 java - Ubuntu 14.04

go - os.PathError 未实现错误

go - 在 Go 中的结构字段中对非原始类型使用指针是否更好

javascript - 检测 base64 dataURL 图像中的恶意代码或文本

mysql - SQL Server 2008 链接 MySQL 服务器慢

.net - 哪个 .NET 数据提供程序?

mysql - Excel ODBC 连接删除列

c++ - 以 root ubuntu 身份自动运行我的可执行文件

zend-framework - Ubuntu、zend framework 和 PHPUnit - 测试说明 : PHPUnit was not found in your include_path, 因此不会创建任何测试操作

linux - xampp 服务器(如何启动和运行)