Похоже, вы на полпути!
Ваш пример кода выглядит так, как будто он будет читать данные CSV из именованного файла.Следующим шагом будет подключение к экземпляру базы данных MSSQL и вставка строк из данных CSV.
Для этого вам потребуется найти драйвер golang для этой базы данных (denisenkom/go-mssqldb
выглядит заслуживающим внимания, есть даже простой пример ) и следуйте шаблонам, установленным пакетом go database/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)
}
}
}