Je ne peux pas accéder à ma connexion au serveur SQL à partir du code c #. Je reçois cette erreur:
Exception SQL: aucun processus n'est à l'autre bout du tuyau
thats la chaîne de connexion dans mon app.config:
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=BELLA\SQLEXPRESS;Initial Catalog=TLP;User Id=Pascal;Password=test;Pooling=False"/>
Lorsque j'utilise l'authentification Windows: Integrated Security = True;
Ensuite, je peux me connecter à la base de données.
MAIS je ne peux PAS utiliser l'authentification Windows car l'ouverture de la connexion SQL est effectuée à partir d'un service Windows exécuté en tant que LocalSystem. Quand je fais cela, j'obtiens cette erreur:
Échec de la connexion. Échec de la connexion pour l'utilisateur 'NT AUTHORITY\SYSTEM'
C’est la première fois que je crée un login + utilisateur dans SQL Management Studio, alors je suis presque sûr d’avoir commis quelque chose de mal et c’est ma faute.
C'est ce que j'ai fait:
1) Créez un nouveau login dans le dossier de sécurité du serveur avec l'utilisateur d'authentification SQL: Pascal et le mot de passe: test.
2) Je suis allé à ma base de données et créer un nouvel utilisateur dans le dossier de sécurité avec utilisateur: Pascal et login: Pascal et schéma: dbo
3) Est-ce que j'ai oublié quelque chose?
Solutions d'autres personnes:
1) J'ai aussi essayé ce lien mais pas de chance, ma sélection de SQL sur la table suspect_pages est vide.
Erreur: il n'y a pas de processus à l'autre bout du tuyau
2) La configuration du réseau My Sql Server est activée sur tcp/ip, nomme les canaux et les paramètres de mémoire partagée.
3) SQL Server 2008 ne peut pas se connecter avec un utilisateur nouvellement créé
Les numéros 1 à 3 n'ont pas aidé du tout.
Tout cela se fait sur ma machine locale. Aucun réseau n'est ici.
Avez-vous activé les fournisseurs de mémoire partagée et TCP/IP dans la configuration SQL?
Sinon, ouvrez l'utilitaire SQL Server Configuration Manager et activez la mémoire partagée et TCP/IP. L'ordre qui me convient est Mémoire partagée (1) et TCP/IP (2) pour le serveur et le client.
Assurez-vous également que vous créez à la fois SQL LOGIN et DATABASE USER for Pascal avec les droits appropriés.
Consultez l'article de mon blog sur la création de connexions. http://craftydba.com/?p=656
L'extrait ci-dessous va exploser et recréer votre identifiant/utilisateur avec la base de données par défaut, le schéma par défaut et les privilèges lecture/écriture corrects.
-- Which database to use.
USE [TLP]
GO
-- Delete existing user.
IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'Pascal')
DROP USER [Pascal]
GO
-- Which database to use.
USE [master]
GO
-- Delete existing login.
IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'Pascal')
DROP LOGIN [Pascal]
GO
-- Add new login.
CREATE LOGIN [Pascal] WITH PASSWORD=N'test', DEFAULT_DATABASE=[TLP]
GO
-- Which database to use.
USE [TLP]
GO
-- Add new user.
CREATE USER [Pascal] FOR LOGIN [Pascal] WITH DEFAULT_SCHEMA=[dbo]
GO
-- Add to database read / write roles
EXEC sp_addrolemember 'db_datareader', 'Pascal'
EXEC sp_addrolemember 'db_datawriter', 'Pascal'
GO
-- Add to database owner role?
-- Only give out if application needs a high level of privileges.
-- EXEC sp_addrolemember 'db_owner', 'Pascal'
-- GO
Protocoles de niveau serveur.
Protocoles de niveau client.
Je n'ai jamais choisi NETBIOS car il s'agit d'un protocole non routable.
Si vous rencontrez toujours des problèmes, merci de poster une capture d’écran et plus de détails.
Probablement un scénario inhabituel, mais je viens de recevoir cette exception et de la retrouver sous un nom de base de données non valide dans la valeur Catalogue initial de la chaîne de connexion.