Ir con el controlador de SQL Server no puede conectarse correctamente, falla el inicio de sesión
Estoy tratando de usar Microsoft SQL Server con un programa Go para conectarme a una base de datos en el servidor SQL y leer algunos datos de la base de datos.
Sin embargo cuando usoerr=db.ping()
Causa un error que dice:
error de inicio de sesión para el usuario 'sakhaloo'
Descargué el archivo zip del paquete de controladores de este directorio:github.com/denisenkom/go-mssqldb
luego copio los archivos dentro del archivo comprimido y los pego en la siguiente dirección:C:\Go\src\github.com\denisenkom\go-mssqldb
Otro problema es que cuando intento abrir mi base de datos SQL con SQL Server 2014 Management Studio, no acepta mi nombre de usuario o contraseña, en realidad causa este error cuando ingreso mi nombre de usuario y contraseña:
Se estableció con éxito una conexión con el servidor, pero luego se produjo un error durante el proceso de inicio de sesión. (proveedor: proveedor de memoria compartida, error: 0-no hay proceso en el otro extremo de la tubería). (Microsoft SQL Server, error: 233)
No sé qué está mal con todo este proceso.
Este es mi código:
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)
}