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
Libérer: 2024-11-24 13:19:13
original
486 Les gens l'ont consulté

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'
Copier après la connexion

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,)
Copier après la connexion

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>
    Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal