Vb et base SQL

olkain Messages postés 21 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 30 mai 2010 - 23 oct. 2009 à 11:10
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 23 oct. 2009 à 18:51
Bonjour à tous,

J'ai créé un petit programme qui établie une connexion à un serveur sql.

Voici ma connexion :
Public cn1 As New SqlClient.SqlConnection("data source=192.168.X.X;integrated security=sspi ;initial catalog=Intranet Clients")

J'ai donc trouvé ce code sur internet et j'ai compris que "integrated security = sspi" voulait dire que la connexion sera identifié grâce au identifiant Windows...

Cependant quand je veux établir la connexion voici le message d'erreur :

System.Data.SqlClient.SqlException: Échec de l'ouverture de session de l'utilisateur 'ARTHENYCE\ARTHESRV-EXTRAN$'.

Ce nom que l'on voit apparaitre c'est le nom du domaine\nom du serveur sur le quel l'application tourne alors que j'utilise le login : Administrateur sur le serveur...

J'ai donc trouver un code qui me permet de rentrer à l'aide d'un login et d'un mot de passe :

Public cn1 As New SqlClient.SqlConnection("data source=192.168.X.X;initial catalog=Intranet clients;persist security info=false;user id=sa;password=sa

Et là un nouveau message d'erreur apparait :
System.Data.SqlClient.SqlException: Échec de la connexion pour l'utilisateur 'sa'. Raison : le compte est désactivé

Alors que le compte sa est activé et a tout les droits.

Si je remplace user id par mon login Windows et password = par mon mot de passe un autre message d'erreur apparait :
Échec de l'ouverture de session de l'utilisateur 'mon compte'...
Je peut même taper le compte administrateur du domaine il ne vois rien exemple :

Public cn1 As New SqlClient.SqlConnection("data source=192.168.X.X;initial catalog=Intranet clients;persist security info=false;user id=administrateur;password=PASS DU DOMAINE

Erreur : Échec de l'ouverture de session de l'utilisateur 'administrateur'

si dans la ligne de commande string je tape le nom du domaine\administrateur l'erreur est :
Erreur : Échec de l'ouverture de session de l'utilisateur 'nomdudomaine\administrateur' je suis presque certain qu'il ne voit pas que c'est un domaine.


Quelqu'un aurait t-il une idée? je suis actuellement bloqué sur ce problème depuis deux jours...

Merci

Cordialement
Chris

4 réponses

olkain Messages postés 21 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 30 mai 2010
23 oct. 2009 à 11:29
OOPS! Deux jour de recherche pour rien je suis désolé d'avoir posté ce sujet.
Le compte sa été belle et bien désactivé... Le problème c'est que je n'y connaissait rien en SQL :D


Donc problème résolu
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 oct. 2009 à 11:43
Cool.
Des fois, le fait de décrire son problème permet de trouver une solution.
Je peux détruire cette question ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 oct. 2009 à 18:46
Pour info :
- l'authentification Windows ne peut (normalement) fonctionner que si le poste serveur et le poste client sont sur un domaine, sur le même domaine, et que les sessions ouvertes sont des sessions ouvertes sur ce domaine.
Dans tous les autres cas, ça ne doit (normalement) pas marcher et il faudra alors utiliser l'authentification SQL.

- Dans la mesure du possible, l'authentification Windows est à préférer à l'authentification SQL car plus sécurisée.

- Dans le cas de l'authentfication SQL, les logins et mdp à utiliser sont ceux des utilisateurs créés dans SQL. Ces utilisateurs n'ont absolument rien à voir avec les utilisateurs Windows d'un domaine (mais il est tout à fait possible que ces utilisateurs soient créés dans SQL à partir des utilisateurs du domaine).

- Dans le cas de l'authentification SQL, il est conseiller de ne pas utiliser l'utilisateur sa (compte d'administration), mais de créer un utilisateur idoine avec uniquement les droits nécessaires (En allant plus loin, on peut aussi prendre l'habitude de désactiver le compte sa, et d'en créer un autre spécifique pour le remplacer et administrer le serveur).


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 oct. 2009 à 18:51
J'ai oublier, sur MSSQLServer, :
- l'authentification Windows est toujours activée et n'est pas désactivable.
- l'authentification SQL est, par défaut, désactivée. Pour qu'elle soit utilisable, il faut qu'elle soit activée manuellement, soit à l'installation, soit après installation en administrant le serveur (nécessite un redémarrage du moteur SQL)

- Suivant les éditions de MSSQLServer, il faudra en plus activer les connections distantes qui ne sont pas toujours activées par défaut (Edition Developper ou Express , par exemple), pour que le serveur SQL soit accessible
depuis un poste autre que le serveur lui-même

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Rejoignez-nous