Maison >développement back-end >Golang >Pourquoi mon programme Go ne peut-il pas se connecter à SQL Server ?

Pourquoi mon programme Go ne peut-il pas se connecter à SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-24 13:19:13435parcourir

Why Can't My Go Program Connect to SQL Server?

Go avec SQL Server : impossible de se connecter avec succès

Problème :

Lors de l'utilisation de Go avec un pilote SQL Server pour se connecter à une base de données, une erreur se produit :

login failed for user 'sakhaloo'

De plus, les tentatives l'ouverture de la base de données à l'aide de SQL Server Management Studio échoue avec l'erreur :

Error:233: 
A connection was successfully established with the server, but then an
error occurred during the login process. (provider: Shared Memory
Provider, error: 0-no process is on the other end of the
pipe.)(Microsoft SQL Server,)

Cause :

Le problème provient d'une combinaison de facteurs :

  • L'instance SQL Server n'est pas correctement configurée pour les connexions TCP.
  • Le programme Go tente d'utiliser l'authentification Windows sans spécifier le domaine ou utilisateur.
  • L'utilisateur SQL Server ne dispose pas des autorisations nécessaires.

Solution :

  1. Configurer les connexions TCP pour SQL Server :
  • Ouvrir la configuration de SQL Server Manager.
  • Développez Configuration réseau > Protocoles pour MSSQLSERVER.
  • Activez TCP/IP.
  • Redémarrez le service SQL Server.
  1. Créez un utilisateur SQL Server avec des autorisations :
  • Utilisez SQL Server Management Studio pour créer un fichier SQL Utilisateur du serveur avec les autorisations nécessaires.
  • Assurez-vous que l'utilisateur dispose de privilèges suffisants pour créer et modifier la base de données.
  1. Spécifiez l'utilisateur du serveur SQL dans le programme Go :
  • Dans le programme Go, précisez le nom d'utilisateur et le mot de passe SQL Server dans la connexion string.
  • Si l'authentification Windows est souhaitée, laissez le nom d'utilisateur et le mot de passe vides, mais assurez-vous que l'instance SQL Server est configurée pour l'authentification Kerberos.

Solution mise à jour pour l'authentification Windows de confiance :

  • Sous Windows, si l'identifiant utilisateur est vide ou manquant, l'authentification unique (connexion approuvée) est utilisée.
  • Pour utiliser l'authentification Windows approuvée, assurez-vous de ce qui suit dans le programme Go :

    condb, errdb := sql.Open("mssql", "server=servernameorip;user>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn