Skip to content

Instantly share code, notes, and snippets.

Last active July 27, 2022 21:16
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save shaneis/98a04c816bdf851ef41a2ef5b9d31ee8 to your computer and use it in GitHub Desktop.
package main
import (
// this is the driver & yes, even though we're throwing
// it away to `_`, it's still needed
_ ""
var (
db *sql.DB
server = "localhost"
// Yes, I hate this too...
port = 60515
func main() {
// Build connection string
connString := fmt.Sprintf(
// I want the line that the error occurs in my logs, please & thank you
// Create connection pool
var err error
db, err = sql.Open("sqlserver", connString)
if err != nil {
log.Fatalln("Creating connection pool failed:", err.Error())
stringDate, err := getDate()
if err != nil {
log.Fatalln("getDate() failed:", err.Error())
fmt.Println("Read:", stringDate)
fmt.Println("Read rows successfully!")
func getDate() (string, error) {
var dte string
// We're "scanning" the values from the query into the `dte`
// variable using `&<var name>`. Different, but interesting...
if err := db.QueryRow("SELECT dt = SYSDATETIME();").Scan(&dte); err != nil {
return "false", fmt.Errorf("getDate() function failed! %s", err.Error())
return dte, nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment