Go mit SQL Server-Treiber kann keine Verbindung herstellen, Anmeldung fehlgeschlagen
Ich versuche, Microsoft SQL Server mit einem Go-Programm zu verwenden, um eine Verbindung zu einer Datenbank in SQL Server herzustellen und einige Daten aus der Datenbank zu lesen.
Jedoch wenn ich @ benuterr=db.ping()
es verursacht einen Fehler, der besagt:
login fehlgeschlagen für Benutzer 'sakhaloo'
Ich habe die Zip-Datei des Treiberpakets aus diesem Verzeichnis heruntergeladen:github.com/denisenkom/go-mssqldb
dann kopiere ich die Dateien in die gezippte Datei und füge sie an der folgenden Adresse ein:C:\Go\src\github.com\denisenkom\go-mssqldb
Ein weiteres Problem besteht darin, dass beim Versuch, meine SQL-Datenbank mit SQL Server 2014 Management Studio zu öffnen, mein Benutzername oder Passwort nicht akzeptiert wird. Tatsächlich tritt dieser Fehler auf, wenn ich meinen Benutzernamen und mein Passwort eingebe:
Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber während des Anmeldevorgangs ist ein Fehler aufgetreten. (Anbieter: Shared Memory Provider, Fehler: 0 - Am anderen Ende der Pipe befindet sich kein Prozess.) (Microsoft SQL Server, Fehler: 233)
Ich weiß nicht, was mit all diesem Prozess falsch ist.
Dies ist mein Code:
package main
import (
//_ "code.google.com/p/odbc"
_ "github.com/denisenkom/go-mssqldb"
"database/sql"
"fmt"
"log"
//"github.com/astaxie/beedb"
// "github.com/weigj/go-odbc"
)
var (
uName, pass string
p *Person
)
type Person struct {
userName string
passWord string
Email string
}
func main() {
db, err := sql.Open("mssql", "server=SAKHALOO-PC;user id=sakhaloo;password=hoollehayerazi;database=webApp" )
if err != nil {
log.Fatal(err)
}
defer db.Close()
err = db.Ping()
if err != nil {
log.Fatal(err)
}
fmt.Println("Please enter your full name & password:")
fmt.Scanln(&uName, &pass)
row := db.QueryRow("SELECT username, password, email FROM user WHERE username=? and password=?", uName, pass)
fmt.Println(row)
p := new(Person)
err = row.Scan(&p.userName, &p.passWord, &p.Email)
fmt.Printf("%s , %s , %s \n", p.userName, p.passWord, p.Email)
fmt.Printf("Hi %s, your email address is : %s", uName, p.Email)
}