亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 golang 導入 csv 并保存在 MSSQL 數據庫中?

如何使用 golang 導入 csv 并保存在 MSSQL 數據庫中?

Go
慕勒3428872 2023-04-17 15:27:54
這是我的代碼。目前,我只是閱讀了 CSV 文件的內容。我需要使用 Go 語言應用程序將此 CSV 文件遷移到 MSSQLpackage mainimport (    "encoding/csv"    "log"    "os")func main() {    rows := readOrders("Ec2Instances.csv")}func readOrders(name string) [][]string {    f, err := os.Open(name)    if err != nil {        log.Fatalf("Cannot open '%s': %s\n", name, err.Error())    }    defer f.Close()    r := csv.NewReader(f)    r.Comma = ';'    rows, err := r.ReadAll()    if err != nil {        log.Fatalln("Cannot read CSV data:", err.Error())    }    return rows}我希望將 CSV 文件專門寫入“MSSQL 數據庫”。我已經安裝了 MSSQL 和 SSMS 軟件。我如何訪問這些并將數據寫入其中?
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

看起來你已經成功了一半!

您的示例代碼看起來會從命名文件中讀取 CSV 數據。下一步是連接到 MSSQL 數據庫實例并插入來自 CSV 數據的行。

為此,您需要為該數據庫找到一個 golang 驅動程序(denisenkom/go-mssqldb看起來值得一試,甚至還有一個簡單的示例)并遵循godatabase/sql包(尤其是包示例)建立的模式。

一個可行的解決方案可能看起來像這樣(不起作用但具有示范性):

import (

? "database/sql"

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

? // ...

)


func main() {

? rows := readOrders("Ec2Instances.csv")

? insertRowsToDatabase(rows)

}


func insertRowsToDatabase(rows [][]string) {

? // Connect to the database.

? connString := "server=myserver;user id=123;password=secret;port=234"

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

? if err != nil {

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

? }

? defer db.Close()


? // Insert the rows, omitting the first header row from the CSV.

? stmt, err := db.Prepare("INSERT INTO Ec2Instances(id, name) VALUES(?, ?)")

? if err != nil {

? ? log.Fatal(err)

? }

? for _, row := range rows[1:] {

? ? _, err := stmt.Exec(row[0], row[1])

? ? if err != nil {

? ? ? log.Fatal(err)

? ? }

? }

}


查看完整回答
反對 回復 2023-04-17
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號