golang 遠端連線mssql 2000

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package mainimport ("database/sql""flag""fmt""log")import (_ "github.com/mattn/go-adodb")var (local    boolremoteIP stringremoteDS string)func init() {flag.BoolVar(&local, "local", true, "set window connect.")flag.StringVar(&remoteIP, "remoteIP", "192.168.1.104", "set up remote mssql of ip.")flag.StringVar(&remoteDS, "remoteDS", "MSSQLSERVER", "set up remote mssql of datasource.")}type Mssql struct {*sql.DBdataSource stringdatabase   stringwindows    boolsa         *SA}type SA struct {user   stringpasswd stringport   int}func NewMssql() *Mssql {mssql := new(Mssql)dataS := "localhost"if !local {dataS = fmt.Sprintf("%s\\%s", remoteIP, remoteDS)}mssql = &Mssql{// 如果資料庫是預設執行個體(MSSQLSERVER)則直接使用IP,具名執行個體需要指明。// dataSource: "192.168.1.104\\MSSQLSERVER",dataSource: dataS,database:   "iman",// windows: true 為windows身分識別驗證,false 必須設定sa帳號和密碼windows: local,sa: &SA{user:   "sa",passwd: "123456",port:   1433,},}return mssql}func (m *Mssql) Open() error {config := fmt.Sprintf("Provider=SQLOLEDB;Initial Catalog=%s;Data Source=%s",m.database, m.dataSource)if m.windows {config = fmt.Sprintf("%s;Integrated Security=SSPI", config)} else {// sql 2000的連接埠寫法和sql 2005以上的有所不同,在Data Source 後以逗號隔開。config = fmt.Sprintf("%s,%d;user id=%s;password=%s",config, m.sa.port, m.sa.user, m.sa.passwd)}var err errorm.DB, err = sql.Open("adodb", config)fmt.Println(config)return err}func (m *Mssql) Select() {rows, err := m.Query("select id, name from users")if err != nil {fmt.Printf("select query err: %s\n", err)}for rows.Next() {var id, name stringrows.Scan(&id, &name)fmt.Printf("id = %s, name = %s\n", id, name)}}func main() {flag.Parse()mssql := NewMssql()err := mssql.Open()checkError(err)mssql.Select()}func checkError(err error) {if err != nil {log.Fatal(err)}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.