1.连接mysql数据库

注:驱动都用 go get 下载

如下图所示,需使用mysql驱动

// mysql 驱动
_ "github.com/go-sql-driver/mysql"

代码示例:

// 连接mysql数据库
s := "%s:%s@tcp(%s)/%s?charset=utf8&multiStatements=true"
url := fmt.Sprintf(s, userName, password, linkAddr+":"+port, "")

db, err := sqlx.Connect("mysql", url)
if err != nil {
    return nil, err
 }

db.SetMaxIdleConns(1)
db.SetMaxOpenConns(5)

defer db.Close()
db.Select(&dbNames, "show databases")

执行结果:

2.连接sqlserver数据库

如下图所示,需使用sqlserver驱动

"github.com/jmoiron/sqlx" 
// sqlserver 驱动
_ "github.com/denisenkom/go-mssqldb"

代码示例:

// 连接sqlserver数据库
s := "server=%s;port%d;database=%s;user id=%s;password=%s"
url := fmt.Sprintf(s, linkAddr, port, "", userName, password)

db, err := sqlx.Connect("mssql", url)
if err != nil {
    return nil, err
}
db.SetMaxIdleConns(1)
db.SetMaxOpenConns(5)

defer db.Close()
db.Select(&dbNames, "select name from sysdatabases")

执行结果:

3.连接oracle数据库

如下图所示,需使用oracle驱动

// oracle 驱动
//_ "github.com/mattn/go-oci8"

注:oracle驱动需要配置才能下载,以下为配置过程

cd /oracle/instantclient_12_2/
ln -s libclntsh.dylib.12.1 /usr/lib
ln -s libocci.dylib.12.1 /usr/lib  
ln -s libociei.dylib /usr/lib
ln -s libnnz12.dylib /usr/lib 
 csrutil disable
csrutil enable
sudo chown -R $(whoami)
sudo chown -R $(whoami) /usr/lib
./configure  --with-internal-glib
make
sudo make install
prefixdir=/Users/oracle/instantclient_12_2   // 你的路径
libdir=${prefixdir} 
includedir=${prefixdir}/sdk/include
Name: OCI
Description: Oracle database driver
Version: 12.2  // 你的版本
Libs: -L${libdir} -lclntsh
Cflags: -I${includedir}
PKG_CONFIG_PATH=/Users/oracle/instantclient_12_2
LD_LIBRARY_PATH=/Users/oracle/instantclient_12_2
go get github.com/mattn/go-oci8