Browse Source

达梦--密码特殊字符需转义

master v1.2.4
lijianbin 1 week ago
parent
commit
45bcc98850
2 changed files with 8 additions and 3 deletions
  1. +5
    -2
      chain_test.go
  2. +3
    -1
      conn.go

+ 5
- 2
chain_test.go View File

@ -9,8 +9,11 @@ import (
func Test_Chain(t *testing.T) { func Test_Chain(t *testing.T) {
//测试数据库连接 //测试数据库连接
//err := Connect("127.0.0.1", "root", "root", "canyin", "3306") //err := Connect("127.0.0.1", "root", "root", "canyin", "3306")
err := PgConnect("192.168.233.145", "bin", "Bin123456", "canyin", "5432")
//err := DmConnect("192.168.233.141", "SHOPV2", "Bin123456", "", "5236")
//err := PgConnect("192.168.233.145", "bin", "Bin123456", "canyin", "5432")
err := DmConnect("192.168.233.148", "SHOPV2", "Bin123456", "", "5236")
//err := DmConnect("10.33.0.91", "ZYSG", "Zysg!#2025", "", "5236")
//err := DmConnect("10.33.0.91", "dbck", "dskk!#555", "", "5236")
if err != nil { if err != nil {
t.Log(err) t.Log(err)
} }


+ 3
- 1
conn.go View File

@ -4,6 +4,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"log" "log"
"net/url"
"errors" "errors"
"strings" "strings"
@ -239,7 +240,8 @@ func DmConnect(DBHOST, DBUSER, DBPWD, DBNAME, DBPORT string, conns ...int) error
if DBHOST == "" || DBUSER == "" || DBPWD == "" || DBPORT == "" { if DBHOST == "" || DBUSER == "" || DBPWD == "" || DBPORT == "" {
return errors.New("dm DBconnection params errors") return errors.New("dm DBconnection params errors")
} }
//达梦8如果密码存在特殊字符,需使用 url.PathEscape 进行转义后再放入连接串
DBPWD = url.PathEscape(DBPWD)
dsn := "dm://" + DBUSER + ":" + DBPWD + "@" + DBHOST + ":" + DBPORT + "?charSet=utf8&compatibleMode=mysql" dsn := "dm://" + DBUSER + ":" + DBPWD + "@" + DBHOST + ":" + DBPORT + "?charSet=utf8&compatibleMode=mysql"
log.Println("database dsn", dsn) log.Println("database dsn", dsn)


Loading…
Cancel
Save