go现在怎么连接sqlserver

Python09

go现在怎么连接sqlserver,第1张

import _ "github.com/denisenkom/go-mssqldb"

import (

"crypto/cipher"

"crypto/des"

"crypto/md5"

"database/sql"

"encoding/hex"

"encoding/json"

"fmt"

"net/http"

_ "odbc/driver"

"strconv"

"bytes"

"flag"

"log"

)

var debug = flag.Bool("debug", true, "enable debugging")

var password = flag.String("password", "a*c23**", "the database password")

var port *int = flag.Int("port", 6003, "the database port")

var server = flag.String("server", "123.***.120.**", "the database server")

var user = flag.String("user", "sa", "the database user")

var database = flag.String("database", "Deer_JNCB_********", "the database name")

func GetDB() (*sql.DB, error){

if *debug {

fmt.Printf(" password:%s\n", *password)

fmt.Printf(" port:%d\n", *port)

fmt.Printf(" server:%s\n", *server)

fmt.Printf(" user:%s\n", *user)

}

connString := fmt.Sprintf("server=%sdatabase=%suser id=%spassword=%sport=%dencrypt=disable", *server, *database, *user, *password, *port)

if *debug {

fmt.Printf(" connString:%s\n", connString)

}

db, err := sql.Open("mssql", connString)

if err != nil {

log.Fatal("Open connection failed:", err.Error())

return nil, err

}

err = db.Ping()

if err != nil {

fmt.Print("PING:%s",err)

return nil, err

}

return db, nil

}

encrypt=disable 这个很重要,说三遍.....

//假设的GOPATH指向C:\gohome

0. 执行 go get github.com/wendal/go-oci8 ,然后肯定是报错了,没关系,代码会下载下来.

1. 首先,你需要安装mingw到C:\mingw

2. 然后,到Oracle官网,下载OCI及其SDK,解压到instantclient_11_2 -- 当前最新版

3. 从我的go-oci8库的windows文件夹,拷贝pkg-config.exe到C:\mingw\bin\,拷贝oci8.pc到C:\mingw\lib\pkg-config\

4. 设置环境变量 PATH ,值为 原有PATHC:\instantclient_11_2C:\mingw\bin

5. 设置环境变量 PKG_CONFIG_PATH,值为 C:\mingw\lib\pkg-config

6. 接下来,就最重要的,就是再执行一次,这次应该能成功的: go get github.com/wendal/go-oci8

7. 测试一下:

cd %GOPATH%/src/github.com/wendal/go-oci8/example

go run oracle.go

#提醒一句, oracle.go里面的写的密码是system/123456, 实例名XE