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