J'ai une application de console qui doit se connecter à une instance de serveur sql 2008 distante .... cette ligne particulière jette une erreur même si j'y ai accès base de données ... connection.open() est la ligne qui lance l'erreur ...Application C# accédant à l'instance 2008 du serveur sql distant ... ne fonctionne pas
Répondre
Assurez-vous que la chaîne de connexion dans votre application de console utilise les mêmes informations d'identification et paramètres que ceux que vous utilisez pour vous connecter avec succès au studio de gestion.
Utilisez-vous l'authentification Windows dans un endroit et une connexion SQL dans un autre?
Avez-vous déjà été en mesure de vous connecter à ce serveur distant? Si vous avez déjà pu vous connecter auparavant, mais que vous ne pouvez pas le faire maintenant, cela peut indiquer qu'une copie de sauvegarde de la base de données, provenant d'un autre serveur, a été restaurée sur ce serveur.
Lorsque vous écrivez que vous "avez accès" à cette base de données, comment vous connectez-vous? Fermez votre copie de SQL Server Management Studio et rouvrez-le; Lorsque vous obtenez la boîte de dialogue Connexion, veillez à entrer les informations d'identification de l'utilisateur que votre application console utilise pour se connecter. Voyez-vous votre base de données? Êtes-vous capable d'exécuter des procédures stockées, d'exécuter des instructions SELECT ou de faire ce que vous attendez?
Si vous ne voyez pas la base de données - ou si vous ne pouvez pas effectuer les activités attendues, vous avez probablement restauré une base de données à partir d'un autre serveur. Ceci est très commun - un développeur de base de données travaille sur la prochaine révision de la base de données sur sa machine de développement; Au moment du déploiement, il sauvegarde la base de données, la copie sur le serveur et restaure la base de données. Maintenant, il ne peut pas se connecter - et ne peut pas comprendre pourquoi.
La raison est que le login et l'utilisateur sont présentés dans l'interface utilisateur SSMS comme des chaînes - mais en fait ce sont des ID entiers. Vous devrez faire un peu de script pour supprimer l'enregistrement utilisateur invalide de la base de données afin de l'assigner à la connexion du nouveau serveur.
Si cela vous semble être votre problème, répondez-y. Je reviendrai un peu en arrière et je vous donnerai plus d'aide.
JM
Assurez-vous que le serveur Sql instance 2008 disponible sur votre système où vous exécutez votre application. La version du client Atleast de Sql Server 2008 doit être installée sur la machine de développement. Vérifiez la chaîne de connexion et le système de serveur permettent également la connexion réseau.
l'erreur est "la connexion a échoué pour [USERNAME]" –
Ce qui conduit à, [USERNAME] a-t-il accès à la base de données avec par exemple. Studio de gestion sql? Est-ce un utilisateur SQL ou un utilisateur Windows? –