为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:Windows 10 专业版
【CPU】:Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz 3.41 GHz
【问题描述】*:go 1.19.1 中使用dm8做为数据库,打开数据库始终报错。相关代码及报错如下,期望得到各位大佬支持(感觉是dataSourceName变量定义的问题)
import (
"database/sql"
"dm"
"fmt"
"io/ioutil"
"time"
)
var db *sql.DB
var err error
func main() {
driverName := "dm"
dataSourceName := "TCM:Tcm#123@tcp(XXXX:5236/dwglsvc?)"
if db, err = connect(driverName, dataSourceName); err != nil {
fmt.Printf("%v\n",err)
return
}
}
func connect(driverName string, dataSourceName string) (*sql.DB, error) {
var db *sql.DB
var err error
if db, err = sql.Open(driverName, dataSourceName); err != nil {
return nil, err
}
if err = db.Ping(); err != nil {
return nil, err
}
fmt.Printf("connect to "%s" succeed.\n", dataSourceName)
return db, nil
}
Error 9001: error.dsn.invalidSchema
stack info:
搞定了。特殊符号问题。最终dataSourceName定义为dataSourceName := "TCM:Tcm%23123@tcp(XXXX:5236)"
特殊符号参考:
https://www.cnblogs.com/gered/p/14115348.html