2011-08-17 1 views
1

J'utilise le serveur SQL Server 2005 intégré à visual studio 2008 dans mon projet. Ceci est ma chaîne de connexion.Modifier le mode d'authentification pour SQL Server 2005 fourni avec Visual Studio 2008

SQLConnection oConnection = new SQLConnection("Data Source=.\SQLExpress Initial Catalog=Fas"); 

Lorsque je tente d'ouvrir la connexion comme oConnection.open() Je reçois erreur comme « Échec de la connexion pour cet utilisateur. L'utilisateur est pas associé à une connexion de confiance. » Par googling, j'ai l'idée que j'utilise le mode d'authentification Windows. Alors, comment puis-je le changer pour l'authentification en mode mixte? Je n'ai pas de sqlserver séparé installé sur mon système. Il en est de même pour Visual Studio 2008

Répondre

0

Il est un "séparé SQL Server", Visual Studio installe pour vous. Il n'y a aucune différence avec l'installation de SQL Express que vous obtiendriez de Microsoft.com.

Vous devez activer SQL Express Management Studio. Il devrait être sous "Microsoft SQL Server 2005" dans votre menu Démarrer. Connectez-vous à l'instance SQLEXPRESS. Une fois connecté, sous "Object Explorer", faites un clic droit sur le serveur lui-même, cliquez sur Propriétés, puis sur Sécurité. L'utilisation du mode mixte n'est pas la meilleure pour les pratiques de sécurité car elle nécessite de stocker un nom d'utilisateur et un mot de passe dans une chaîne de connexion quelque part. Si vous utilisez un projet de serveur Web, le mieux serait d'ajouter le NETWORK SERVICE en tant que lecteur/enregistreur de données, ou db_owner en fonction de vos besoins.

0

Au lieu de. utilise le nom du serveur lui-même. Ce serait le nom de votre machine s'il s'agit d'une machine locale.

Ajouter

Integrated Security=True 

dans votre connexion à la fin pour la connexion de confiance. Ainsi, votre dernière connexion devrait ressembler à ceci

SQLConnection oConnection = new SQLConnection("Data Source=MYPC-NAME\SQLExpress; Initial Catalog=Fas;Integrated Security=True"); 
+0

Mais lorsque j'utilise la sécurité intégrée, il affiche un mot clé non valide Sécurité intégrée. –

+0

Avez-vous vérifié l'orthographe? –

+0

une virgule manquait après sqlexpress, le corrige ci-dessus. Maintenant, essayez-le. –

0

Vous pouvez ajouter ce qui suit à votre chaîne de connexion qui spécifiera un utilisateur SQL:

User ID=myUserId;Password=myPassword;

SQLConnection oConnection = new SQLConnection("Data Source=.\SQLExpress;Initial Catalog=Fas;User ID=myUserId;Password=myPassword;");

Si vous souhaitez utiliser un utilisateur Windows authentifié, ajoutez:

Integrated Security=true;

SQLConnection oConnection = new SQLConnection("Data Source=.\SQLExpress;Initial Catalog=Fas;Integrated Security=true;");

+0

Mais c'est le serveur par défaut qui vient avec VS-2008. Donc, ne pas avoir userId et mot de passe .. –

+0

..Mais quand j'utilise la sécurité intégrée, il affiche le mot clé invalide sécurité intégrée .. –

+0

Est-ce avec le ';' après 'SQLExpress'? (comme il manquait avant) –

Questions connexes