我正在尝试使用alexbrainman ODBC 驱动程序在 Go 中使用3rd 方 ODBC 驱动程序(可在此处下载)连接到数据源。我已经使用以下方法测试了有问题的 DSN:
isql -v "CData Redis Source"
那里的一切都按预期工作。而且我知道我已经安装了 unixODBC 2.3.1 ( isql --version
)。
问题
当我尝试运行以下 Go 程序时,我收到此错误消息,它是由db.Ping()
调用产生的(谷歌翻译似乎无法翻译):
SQLDriverConnect: {unixODBC]湉庆楬潣愰㍥楴汤潣愰愰㥴汤瑠硤愠祳瑠硤愠⁴湩敝湉庆楬潣愰捥楴汤
我的代码:
package main
import (
_ "github.com/alexbrainman/odbc"
"database/sql"
"log"
)
func main() {
db, err := sql.Open("odbc","DSN=CData Redis Source")
if err != nil {
log.Fatal(err);
}
var (
name string
)
rows, err := db.Ping()
if err != nil {
log.Fatal(err)
}
}
如果我执行 adb.Query()
或 a ,我会看到相同的错误db.Prepare()
。
细节
- Ubuntu 16.04.3 LTS
- UnixODBC 2.3.1
- 用于 Redis 的 CData 软件 ODBC 驱动程序
- go1.6.2 linux/amd64
- github.com/alexbrainman/odbc
请求
我很乐意翻译错误消息以帮助我调试和/或帮助确定为什么我的错误消息不是英文和/或错误消息的实际建议解决方案。