Jai une table matériel avec des champs :
Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2
Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position
- X2 peut accéder uniquement aux champs : Matricule, N facture
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur
X1:
---------------------------
Erreur
---------------------------
SELECT permission denied on column '[N Facture]' of object 'MATERIEL',
database 'GestionMateriel', owner 'dbo'
---------------------------
OK
---------------------------
Grand Merci d’avance
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Romelard Fabrice [MVP]
Bonjour,
Cela peut être fait par des vues je pense. Vous n'avez alors plus qu'à donner les droits sur la vue adaptée à votre utilisateur.
-- Cordialement.
Romelard Fabrice [MVP]
"bakelli" a écrit dans le message de news:
Bonjour à tous,
Jai une table matériel avec des champs : Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur X1: --------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Grand Merci d'avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Bonjour,
Cela peut être fait par des vues je pense.
Vous n'avez alors plus qu'à donner les droits sur la vue adaptée à votre
utilisateur.
--
Cordialement.
Romelard Fabrice [MVP]
"bakelli" <abbas@gepco.dz> a écrit dans le message de news:
mn.da397d64866a787a.34769@gepco.dz...
Bonjour à tous,
Jai une table matériel avec des champs :
Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2
Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position
- X2 peut accéder uniquement aux champs : Matricule, N facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur
X1:
---------------------------
Erreur
---------------------------
SELECT permission denied on column '[N Facture]' of object 'MATERIEL',
database 'GestionMateriel', owner 'dbo'
---------------------------
OK
---------------------------
Grand Merci d'avance
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Cela peut être fait par des vues je pense. Vous n'avez alors plus qu'à donner les droits sur la vue adaptée à votre utilisateur.
-- Cordialement.
Romelard Fabrice [MVP]
"bakelli" a écrit dans le message de news:
Bonjour à tous,
Jai une table matériel avec des champs : Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur X1: --------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Grand Merci d'avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
SQLpro [MVP]
bakelli a écrit :
Bonjour à tous,
Jai une table matériel avec des champs : Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N facture
Soit utiliser une vue qui restreint l'accès à certaines colonnes
Soit créer de nouveaux utilisateurs SQL (et leurs connexions associées) et faire un GRANT SELECT en énumérant les colonnes.
Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlaz/dcl/#L2.3.2
Au passage un conseil : vos noms de colonne ne respectent pas le norme SQL qui veut que " Un nom d'objet (table, colonne, contrainte, vue...) doit avoir les caractéristiques suivantes :
* ne pas dépasser 128 caractères * commencer par une lettre * comprendre uniquement les caractères suivants [ 'A' .. 'Z'] U ['a' .. 'z'] U [ '0' .. '1'] U [ '_' ] * un nom d'objet ne peut pas être un mot réservé de SQL sauf à être utilisé avec des guillemets "
La présence de blancs et pire encore celle d'accent vous causera probablement de gros ennuis dans l'écriture de vos requêtes, et dans l'utilisations d'outils tiers (reporting par exemple).
A +
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur X1: --------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Grand Merci d’avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
bakelli a écrit :
Bonjour à tous,
Jai une table matériel avec des champs :
Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2
Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position
- X2 peut accéder uniquement aux champs : Matricule, N facture
Soit utiliser une vue qui restreint l'accès à certaines colonnes
Soit créer de nouveaux utilisateurs SQL (et leurs connexions associées)
et faire un GRANT SELECT en énumérant les colonnes.
Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/dcl/#L2.3.2
Au passage un conseil :
vos noms de colonne ne respectent pas le norme SQL qui veut que
"
Un nom d'objet (table, colonne, contrainte, vue...) doit avoir les
caractéristiques suivantes :
* ne pas dépasser 128 caractères
* commencer par une lettre
* comprendre uniquement les caractères suivants [ 'A' .. 'Z'] U
['a' .. 'z'] U [ '0' .. '1'] U [ '_' ]
* un nom d'objet ne peut pas être un mot réservé de SQL sauf à être
utilisé avec des guillemets
"
La présence de blancs et pire encore celle d'accent vous causera
probablement de gros ennuis dans l'écriture de vos requêtes, et dans
l'utilisations d'outils tiers (reporting par exemple).
A +
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur X1:
---------------------------
Erreur
---------------------------
SELECT permission denied on column '[N Facture]' of object 'MATERIEL',
database 'GestionMateriel', owner 'dbo'
---------------------------
OK
---------------------------
Grand Merci d’avance
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Jai une table matériel avec des champs : Code, N série, Matricule,position, N facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N facture
Soit utiliser une vue qui restreint l'accès à certaines colonnes
Soit créer de nouveaux utilisateurs SQL (et leurs connexions associées) et faire un GRANT SELECT en énumérant les colonnes.
Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlaz/dcl/#L2.3.2
Au passage un conseil : vos noms de colonne ne respectent pas le norme SQL qui veut que " Un nom d'objet (table, colonne, contrainte, vue...) doit avoir les caractéristiques suivantes :
* ne pas dépasser 128 caractères * commencer par une lettre * comprendre uniquement les caractères suivants [ 'A' .. 'Z'] U ['a' .. 'z'] U [ '0' .. '1'] U [ '_' ] * un nom d'objet ne peut pas être un mot réservé de SQL sauf à être utilisé avec des guillemets "
La présence de blancs et pire encore celle d'accent vous causera probablement de gros ennuis dans l'écriture de vos requêtes, et dans l'utilisations d'outils tiers (reporting par exemple).
A +
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur X1: --------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Grand Merci d’avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
bakelli
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible svp de me donner un petit exemple parce que j’ai essaie de faire un GRANT SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J’utilise le composant DataSet de ADO avec le fournisseur « Microsoft OLE DB Provider for SQL Server » pour accéder à la table
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible
svp de me donner un petit exemple parce que j’ai essaie de faire un
GRANT SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J’utilise le composant DataSet de ADO avec le fournisseur «
Microsoft OLE DB Provider for SQL Server » pour accéder à la table
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible svp de me donner un petit exemple parce que j’ai essaie de faire un GRANT SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J’utilise le composant DataSet de ADO avec le fournisseur « Microsoft OLE DB Provider for SQL Server » pour accéder à la table
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Med Bouchenafa
Comme déjà dit, il est beaucoup plus facile d'ouvrir son Query Analyzer et de lancer la commande GRANT. Mais bon, si tu tiens absolument à passer par ADO.NET, fait une recherche Internet sur la classe SqlClientPermission Avec un peu de chance tu devrais trouver un exemple tout prêt
-- Bien cordialement Med Bouchenafa
"bakelli" a écrit dans le message de news:
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible svp de me donner un petit exemple parce que j'ai essaie de faire un GRANT SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J'utilise le composant DataSet de ADO avec le fournisseur « Microsoft OLE DB Provider for SQL Server » pour accéder à la table
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Comme déjà dit, il est beaucoup plus facile d'ouvrir son Query Analyzer et
de lancer la commande GRANT.
Mais bon, si tu tiens absolument à passer par ADO.NET, fait une recherche
Internet sur la classe SqlClientPermission
Avec un peu de chance tu devrais trouver un exemple tout prêt
--
Bien cordialement
Med Bouchenafa
"bakelli" <abbas@gepco.dz> a écrit dans le message de news:
mn.dab47d64d2e65699.34769@gepco.dz...
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible svp
de me donner un petit exemple parce que j'ai essaie de faire un GRANT
SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J'utilise le composant DataSet de ADO avec le fournisseur « Microsoft
OLE DB Provider for SQL Server » pour accéder à la table
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Comme déjà dit, il est beaucoup plus facile d'ouvrir son Query Analyzer et de lancer la commande GRANT. Mais bon, si tu tiens absolument à passer par ADO.NET, fait une recherche Internet sur la classe SqlClientPermission Avec un peu de chance tu devrais trouver un exemple tout prêt
-- Bien cordialement Med Bouchenafa
"bakelli" a écrit dans le message de news:
Et comme je suis un vrai débutant en Sql Serveur es que c'est possible svp de me donner un petit exemple parce que j'ai essaie de faire un GRANT SELECT sur les colonnes. Mais sa marche pas
Merci pour les remarques ^^
NB : J'utilise le composant DataSet de ADO avec le fournisseur « Microsoft OLE DB Provider for SQL Server » pour accéder à la table
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
bakelli
Bonjour,
Svp esque c'est possible de me dire comment faire avec Query Analyser pour mon exemple merci:
Jai une table matériel avec des champs : Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur X1:
--------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Merci d’avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Bonjour,
Svp esque c'est possible de me dire comment faire avec Query Analyser
pour mon exemple merci:
Jai une table matériel avec des champs :
Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2
Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position
- X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur
X1:
---------------------------
Erreur
---------------------------
SELECT permission denied on column '[N Facture]' of object 'MATERIEL',
database 'GestionMateriel', owner 'dbo'
---------------------------
OK
---------------------------
Merci d’avance
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Svp esque c'est possible de me dire comment faire avec Query Analyser pour mon exemple merci:
Jai une table matériel avec des champs : Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j’ouvre la table avec l’utilisateur X1:
--------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Merci d’avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Arnaud CLERET
Il me semble que le mieux dans ce type de situation est d'offrir une procédure stockée ou vue à chacun de vos utilisateur et d'autoriser chaque utilisateur seulement sur la procédure ou vue à laquelle il a accès. Ce qui vous permet en plus d'enlever les autorisations de chaque utilisateur directement sur la table afin de protéger vos données de toute requête malveillante.
-- arno - http://www.dotnetguru2.org/acleret/
"bakelli" a écrit dans le message de news:
Bonjour,
Svp esque c'est possible de me dire comment faire avec Query Analyser pour mon exemple merci:
Jai une table matériel avec des champs : Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur X1:
--------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Merci d'avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Il me semble que le mieux dans ce type de situation est d'offrir une
procédure stockée ou vue à chacun de vos utilisateur et d'autoriser chaque
utilisateur seulement sur la procédure ou vue à laquelle il a accès. Ce qui
vous permet en plus d'enlever les autorisations de chaque utilisateur
directement sur la table afin de protéger vos données de toute requête
malveillante.
--
arno - http://www.dotnetguru2.org/acleret/
"bakelli" <abbas@gepco.dz> a écrit dans le message de news:
mn.e9f77d643349b748.34769@gepco.dz...
Bonjour,
Svp esque c'est possible de me dire comment faire avec Query Analyser pour
mon exemple merci:
Jai une table matériel avec des champs :
Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2
Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position
- X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur
X1:
---------------------------
Erreur
---------------------------
SELECT permission denied on column '[N Facture]' of object 'MATERIEL',
database 'GestionMateriel', owner 'dbo'
---------------------------
OK
---------------------------
Merci d'avance
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Il me semble que le mieux dans ce type de situation est d'offrir une procédure stockée ou vue à chacun de vos utilisateur et d'autoriser chaque utilisateur seulement sur la procédure ou vue à laquelle il a accès. Ce qui vous permet en plus d'enlever les autorisations de chaque utilisateur directement sur la table afin de protéger vos données de toute requête malveillante.
-- arno - http://www.dotnetguru2.org/acleret/
"bakelli" a écrit dans le message de news:
Bonjour,
Svp esque c'est possible de me dire comment faire avec Query Analyser pour mon exemple merci:
Jai une table matériel avec des champs : Code, N_serie, Matricule,position, N_facture
Deux utilisateur x1 et x2 Comment faire pour autoriser :
- X1 peut accéder uniquement aux champs : Matricule, Position - X2 peut accéder uniquement aux champs : Matricule, N_facture
Sans avoir le message suivant quand j'ouvre la table avec l'utilisateur X1:
--------------------------- Erreur --------------------------- SELECT permission denied on column '[N Facture]' of object 'MATERIEL', database 'GestionMateriel', owner 'dbo' --------------------------- OK --------------------------- Merci d'avance
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
bakelli
Juste une dernière question svp Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2 Utilisateur X1 peux accéder à la vue : Vue1 Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données Comment connecter ADODataSet à la vue qui à été offerte à l’utilisateur qui à lancer le programme
Exemple: X1 à lancer le programme ADODataSet sera orienter vers Vue1
Merci beaucoup
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Juste une dernière question svp
Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2
Utilisateur X1 peux accéder à la vue : Vue1
Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données
Comment connecter ADODataSet à la vue qui à été offerte à
l’utilisateur qui à lancer le programme
Exemple:
X1 à lancer le programme ADODataSet sera orienter vers Vue1
Merci beaucoup
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Juste une dernière question svp Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2 Utilisateur X1 peux accéder à la vue : Vue1 Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données Comment connecter ADODataSet à la vue qui à été offerte à l’utilisateur qui à lancer le programme
Exemple: X1 à lancer le programme ADODataSet sera orienter vers Vue1
Merci beaucoup
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
SQLpro [MVP]
bakelli a écrit :
Juste une dernière question svp Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2 Utilisateur X1 peux accéder à la vue : Vue1 Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données Comment connecter ADODataSet à la vue qui à été offerte à l’utilisateur qui à lancer le programme
Exemple: X1 à lancer le programme ADODataSet sera orienter vers Vue1
se connecter avec le bon utilisateur. C'est tout !
A +
Merci beaucoup
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
bakelli a écrit :
Juste une dernière question svp
Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2
Utilisateur X1 peux accéder à la vue : Vue1
Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données
Comment connecter ADODataSet à la vue qui à été offerte à l’utilisateur
qui à lancer le programme
Exemple:
X1 à lancer le programme ADODataSet sera orienter vers Vue1
se connecter avec le bon utilisateur. C'est tout !
A +
Merci beaucoup
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Juste une dernière question svp Jai une table MATERIEL j’ai réalisé deux vue : Vue1, Vue2 Utilisateur X1 peux accéder à la vue : Vue1 Utilisateur X2 peux accéder à la vue : Vue2
J'utilise les composants ADO pour accéder à la base de données Comment connecter ADODataSet à la vue qui à été offerte à l’utilisateur qui à lancer le programme
Exemple: X1 à lancer le programme ADODataSet sera orienter vers Vue1
se connecter avec le bon utilisateur. C'est tout !
A +
Merci beaucoup
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************