Question Connexion base SQL Server (Résolu)

Plus d'informations
il y a 16 ans 10 mois #4602 par Johan
Bonjour,

je suis en train de rédiger une appli qui extrait des informations d'un logiciel de gestion de parc qui s'appuie sur une base sql server.

Pour le moment je me connecte a la base avec : [code:1]$Conn.connectionstring = \"Server=MonServeur\MonInstance;database=MaBase;trusted_connection=yes;\"[/code:1]

Cependant comme cette application va être utilisé par différentes personnes qui ne doivent voir que ce qui les concernent je doit mettre en place une gestion des droits

Si j'ai bien compris cette ligne de code permet de se connecter a la base SQL avec l'authentification Windows (ce qui expliquerais que j'ai accès à tout puisque je suis administrateur)

J'ai essayer de tenté des connexion via les compte du logiciel de gestion de parc (vu que les droits sont configuré comme il faut pour les utilisateurs) mais sans succès.

J'ai trouvé des choses sur le net avec sqldrive des truck comme ça sinon tout les autres exemple se connecte comme indiqué plus haut et ca n'a pas fait mon bonheur =(

Y'a-t-il une solution ?<br><br>Message édité par: Arnaud, à: 25/05/09 23:58

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 10 mois #4607 par PASCAULT
Réponse de PASCAULT sur le sujet Re:Connexion base SQL Server
Bonjour,

J'ai utilisé ce type de connexion pour ma part
[code:1]
$ConnString = \&quot;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NomBase ; Data Source=NomServeurSQL\&quot;
$Conn = new-object System.Data.OleDb.OleDbConnection($connString)
$conn.open()

$cmd = new-object System.Data.OleDb.OleDbCommand(\&quot;select * from dbo.table1\&quot;,$Conn)
$da = new-object System.Data.OleDb.OleDbDataAdapter($cmd)
$dt = new-object System.Data.dataTable
[void]$da.fill($dt)
$dt|select -First 5[/code:1]

Cela fonctionne pour un SQL2005 ou 2008Express (dans cas, la cible est

Data Source=Nomserveur\SQLEXPRESS.

Si l'utilisateur n'a pas les droits, erreur au niveau open() sinon pas de pb, même avec un simple utilisateur en mode lecture.

Voilà, j'espère que cela pourra t'aider.

Sinon, un bon site pour les types de connexion:
www.connectionstrings.com/

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 10 mois #4608 par Johan
Réponse de Johan sur le sujet Re:Connexion base SQL Server
Nul part tu ne renseigne un utilisateur et un mot de passe si ?

J'ai regardé ton site et j'ai trouvé ca
[code:1]Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;[/code:1]

Cependant j'en ressort avec un 'login failed'

Au niveau de la version du SQL Server je pense que c'est un 2000

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 10 mois #4612 par PASCAULT
Réponse de PASCAULT sur le sujet Re:Connexion base SQL Server
Non effectivement, dans ma connexion, je ne précise pas de login/mdp puisque dans mon cas, la connexion se fait par rapport à l'utilisateur qui lance l'appli. (ouverture de session ou executer en tant que).

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 10 mois #4613 par Johan
Réponse de Johan sur le sujet Re:Connexion base SQL Server
Voila c'est ce concept que je comprend pas =D

Tu te connecte a la base de donnée avec les identifiants Windows c'est bien ca ?

donc comment sont gérer les droits sur les tables ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 10 mois #4614 par PASCAULT
Réponse de PASCAULT sur le sujet Re:Connexion base SQL Server
Oui, connexion avec les identifiants Windows.
La gestion des droits se fait par le serveur SQL.
Tu ne cherches pas à gérer les droits des tables SQL via powershell mais à te connecter avec un utilisateur sur le serveur sql. C'est comme si tu donnes des droits NTFS en fait.
Sur SQL, tu as 2 choses. Les droits de connexion au serveur SQL lui même (il faut crée des comptes de login sur celui ci) et l'accès aux différentes bases (avec toutes ses dépendances lire/écrire, propriétaire...)
Sur SQL2005(2000 je ne suis pas sûr), tu peux utiliser un groupe de domaine comme compte de login. Comme cela tous les comptes utilisateurs du domaine appartenant à ce groupe se connecteront par ce biais. Ils suffit ensuite de dire que tel groupe a les droits sur tel base, tables...)

Mais bon, là, cela n'a plus rien à voir avec PS... et je ne suis pas un spé SQL.

Je ne sais pas si cela va te guider. Sinon, tu dois pouvoir spécificier un login/mdp dans la chaine de connexion... il faut trouver la bonne chaine surement. J'ai tenté vite fait là, mais je suis confronté au même pb de droit. Chaine de connexion à voir peut-être ou sécurité sur le serveur SQL ne permettant pas une telle connexion ?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.104 secondes
Propulsé par Kunena