Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Select permission denied

5 réponses
Avatar
ILyasse
Bonjour,

Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que je
nomme Etudiants.
J'essaie de me connecter à la base de donné. Et je parviens à ouvrire la
connection.
le Connection.Open() fonctionne.
Seulement lors de MaCOmmande.ExecuterReader().
J'ai le message d'erreur suivant : SELECT permission denied on object
'T_Etudiants', database 'Etudiants', owner 'dbo'.

Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les droit
au User ASPNET sur ma base. Et j'utilise le TrustConnection
Alors s'il vous plait à l'aide.

Merci

5 réponses

Avatar
Patrice
J'aurais tendance à dire que c'est SQL Server qui a raison ;-)

Essaie de voir sous quel compte tu tournes (SELECT SUSER_SNAME())

--

"ILyasse" a écrit dans le message de
news:
Bonjour,

Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que je
nomme Etudiants.
J'essaie de me connecter à la base de donné. Et je parviens à ouvrire la
connection.
le Connection.Open() fonctionne.
Seulement lors de MaCOmmande.ExecuterReader().
J'ai le message d'erreur suivant : SELECT permission denied on object
'T_Etudiants', database 'Etudiants', owner 'dbo'.

Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les droit
au User ASPNET sur ma base. Et j'utilise le TrustConnection
Alors s'il vous plait à l'aide.

Merci



Avatar
ILyasse
Bonjour ,

Merci pour votre aide, mais j'ai trouvé ou se situe le problème.
En fait j'utilise le WebAdmin pour administrer ma BD. Et dans la partie User
j'ai tout coché pour les droits.
Alors c'est mal foutu parceque ce sont des chekbox et parfois les options
sont contradictoire . Alors si je séléctionne "db_datareader"
et ensuite je séléctionne aussi (par inattention) "db_denydatareader"
Forcement je n'aurai pas les droits de lectures. ET donc l'ExecuteReader()
ne fonctionnera pas
Concl: Y a peut-être qlq amélioration à faire sur le WebAdmin

Mais merci quand même pour votre aide.

Cordialement.

"Patrice" wrote:

J'aurais tendance à dire que c'est SQL Server qui a raison ;-)

Essaie de voir sous quel compte tu tournes (SELECT SUSER_SNAME())

--

"ILyasse" a écrit dans le message de
news:
> Bonjour,
>
> Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que je
> nomme Etudiants.
> J'essaie de me connecter à la base de donné. Et je parviens à ouvrire la
> connection.
> le Connection.Open() fonctionne.
> Seulement lors de MaCOmmande.ExecuterReader().
> J'ai le message d'erreur suivant : SELECT permission denied on object
> 'T_Etudiants', database 'Etudiants', owner 'dbo'.
>
> Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les droit
> au User ASPNET sur ma base. Et j'utilise le TrustConnection
> Alors s'il vous plait à l'aide.
>
> Merci
>





Avatar
Patrice
C'est normal je crois. L'idée c'est que le "deny" prime sur toute autre
considération. Cela permet par exemple d'ajouter un "deny" pour interdire
tout à quelqu'un sans pour autant avoir à lui supprimer explicitement ses
droits. Il suffit ensuite de décocher le "deny" ce qui suffira à rétablir
ses droits à l'identique très facilement...

Patrice
--

"ILyasse" a écrit dans le message de
news:
Bonjour ,

Merci pour votre aide, mais j'ai trouvé ou se situe le problème.
En fait j'utilise le WebAdmin pour administrer ma BD. Et dans la partie


User
j'ai tout coché pour les droits.
Alors c'est mal foutu parceque ce sont des chekbox et parfois les options
sont contradictoire . Alors si je séléctionne "db_datareader"
et ensuite je séléctionne aussi (par inattention) "db_denydatareader"
Forcement je n'aurai pas les droits de lectures. ET donc l'ExecuteReader()
ne fonctionnera pas
Concl: Y a peut-être qlq amélioration à faire sur le WebAdmin

Mais merci quand même pour votre aide.

Cordialement.

"Patrice" wrote:

> J'aurais tendance à dire que c'est SQL Server qui a raison ;-)
>
> Essaie de voir sous quel compte tu tournes (SELECT SUSER_SNAME())
>
> --
>
> "ILyasse" a écrit dans le message de
> news:
> > Bonjour,
> >
> > Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que


je
> > nomme Etudiants.
> > J'essaie de me connecter à la base de donné. Et je parviens à ouvrire


la
> > connection.
> > le Connection.Open() fonctionne.
> > Seulement lors de MaCOmmande.ExecuterReader().
> > J'ai le message d'erreur suivant : SELECT permission denied on object
> > 'T_Etudiants', database 'Etudiants', owner 'dbo'.
> >
> > Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les


droit
> > au User ASPNET sur ma base. Et j'utilise le TrustConnection
> > Alors s'il vous plait à l'aide.
> >
> > Merci
> >
>
>
>


Avatar
ILyasse
Bien sur l'idée est très bonne. Seulement d'un point de vue fonctionnel,
ce n'est pas très ergonomique de pouvoir cocherla case "autoriser la
lecture" et la case "ne pas autoriser la lecture".
Ca devrait être des radiobutton et non des checkbox.




"Patrice" wrote:

C'est normal je crois. L'idée c'est que le "deny" prime sur toute autre
considération. Cela permet par exemple d'ajouter un "deny" pour interdire
tout à quelqu'un sans pour autant avoir à lui supprimer explicitement ses
droits. Il suffit ensuite de décocher le "deny" ce qui suffira à rétablir
ses droits à l'identique très facilement...

Patrice
--

"ILyasse" a écrit dans le message de
news:
> Bonjour ,
>
> Merci pour votre aide, mais j'ai trouvé ou se situe le problème.
> En fait j'utilise le WebAdmin pour administrer ma BD. Et dans la partie
User
> j'ai tout coché pour les droits.
> Alors c'est mal foutu parceque ce sont des chekbox et parfois les options
> sont contradictoire . Alors si je séléctionne "db_datareader"
> et ensuite je séléctionne aussi (par inattention) "db_denydatareader"
> Forcement je n'aurai pas les droits de lectures. ET donc l'ExecuteReader()
> ne fonctionnera pas
> Concl: Y a peut-être qlq amélioration à faire sur le WebAdmin
>
> Mais merci quand même pour votre aide.
>
> Cordialement.
>
> "Patrice" wrote:
>
> > J'aurais tendance à dire que c'est SQL Server qui a raison ;-)
> >
> > Essaie de voir sous quel compte tu tournes (SELECT SUSER_SNAME())
> >
> > --
> >
> > "ILyasse" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que
je
> > > nomme Etudiants.
> > > J'essaie de me connecter à la base de donné. Et je parviens à ouvrire
la
> > > connection.
> > > le Connection.Open() fonctionne.
> > > Seulement lors de MaCOmmande.ExecuterReader().
> > > J'ai le message d'erreur suivant : SELECT permission denied on object
> > > 'T_Etudiants', database 'Etudiants', owner 'dbo'.
> > >
> > > Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les
droit
> > > au User ASPNET sur ma base. Et j'utilise le TrustConnection
> > > Alors s'il vous plait à l'aide.
> > >
> > > Merci
> > >
> >
> >
> >





Avatar
Christophe
Lors de ta conenction a MSDE tu utilise un utilisateur de MSDE (et non
de windows). Celui-ci doit avoir les droit pour faire des SELECT (et
accessoirement UPDATE/DELETE/INSERT).





ILyasse a écrit :
Bonjour,

Je travaille sur ASP.net j'ai une petite BD sur MSDE que j'ai crée que je
nomme Etudiants.
J'essaie de me connecter à la base de donné. Et je parviens à ouvrire la
connection.
le Connection.Open() fonctionne.
Seulement lors de MaCOmmande.ExecuterReader().
J'ai le message d'erreur suivant : SELECT permission denied on object
'T_Etudiants', database 'Etudiants', owner 'dbo'.

Alors je ne sais vraiment pas pourquoi. Pourtant j'ai donné tout les droit
au User ASPNET sur ma base. Et j'utilise le TrustConnection
Alors s'il vous plait à l'aide.

Merci