Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Vues en lecture seule [ SQL Server, MSDE, SQL Express / Requêtes ] (casy)

vendredi 11 juillet 2008 à 11:36:49 | Vues en lecture seule

casy

Membre Club
Salut à tous,

Je suis en train de créer des vues sous SQL2005 pour mettre à dispositions des données pour des applications Accès à partir de bases SQLServer.

Mais apparement, en consultant l'aide MSDN, j'en comprend que si certaines conditions sont remplies, les données des tables sous-jacentes peuvent etre mise à jours à travers ces vues.

Hors, dans mon cas, la mise à jours est absolument interdite.

Quelle est l'astuce pour créer des vues dont les données exposées sont systématiquement en lecture seule, quelque soit les conditions qui puissent etre remplies ???


Je ne maitrise absolument pas les applis Access qui vont consommer les données. Par contre, ces données sont issues d'une appli 3 tiers dont la mise à jour doit se faire obligatoirement à travers le modèle métier.
La mise à jour directe dans les tables est absolument interdite sous peine de corompre les données et de planter le modèle métier .

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

samedi 8 novembre 2008 à 15:12:02 | Re : Vues en lecture seule

hymnuade

Salut,

Si je comprends bien tu veux créer des vues sur des tables dont le contenu ne doit jamais évoluer ??? Strange isn't it ?

Ou alors tu veux t'assurer que la structure des tables, champs, etc. ne change pas car cela impliquerait que tes vues ne fonctionneraient plus ou pourraient ne plus fonctionner.
Auquel cas, tu peux créer tes vues en utilisant WITH SCHEMABINDING qui implique qu'en cas de modification de schéma de la base, une alerte sera émise si une modification impactant la vue est faîte.

samedi 8 novembre 2008 à 16:04:13 | Re : Vues en lecture seule

casy

Membre Club
"...créer des vues sur des tables dont le contenu ne doit jamais évoluer..."
Pas du tout, les données dans les tables évolues, mais pas par l'intermédiaire des vues.

"...t'assurer que la structure des tables, champs, etc. ne change pas..."
Pas du tout, non plus.

Le but était de mettre à disposition d'une application Access des données gérées par une application sur un modèle 3 tiers. Donc tout cela par l'intermédaire de vues sur les tables de l'appli 3 tiers.

Ne maitrisant pas du tout le fonctionnement des applis Access, et pour des raisons de sécurité et d'intégrité de la base de données, les applis Access ne devaient absolument pas avoir la possibilité de pouvoir modifier les données dans les tables à travers des vues.

Le système est en production depuis 3 mois maintenant, et apparement ça fonctionne correctement. Les requettes des vues étant complexes, elles interdisent normalmenet à elles seules la modification des données.

Ceci dit, je suis toujours prenneur sur un moyen de créer des vues en "lecture seule" sur SQLServer

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

lundi 10 novembre 2008 à 12:41:24 | Re : Vues en lecture seule

hymnuade

Une vue est une table virtuelle fondée sur un SELECT. Sans INSERT ou UPDATE dans une requête de vue, comment un utilisateur d'une vue pourrait-il modifier le contenu de la base ?
Par défaut, une vue est en lecture seule. Maintenant, tu peux t'assurer qu'aucun mouvement sur les données ne peut avoir lieu en y associant que des utilisateurs qui ne sont que lecteurs des données.

lundi 10 novembre 2008 à 15:28:43 | Re : Vues en lecture seule

casy

Membre Club
"...Par défaut, une vue est en lecture seule..."

C'est effectivement l'idée que je me faisais moi-aussi des vues. Mais en épluchant la doc de SQLServer, je me suis apperçu que l'on pouvait apparemment modifier les données à travers les vues en faisant des requettes Update classique comme sur les tables.
Cela est quand même limité à la complexité de la requette générant la vue.

Dans mon cas les requettes de générations sont relativements complexes (Case, jointures, sous-requettes, calculs, ....) ce qui devrait à priori empécher la mise à jour


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

lundi 10 novembre 2008 à 17:07:30 | Re : Vues en lecture seule

coq

Administrateur CodeS-SourceS
Salut,

Au pire un bon DENY INSERT, UPDATE, DELETE et le problème est réglé.



/*
coq
MVP Visual C#
CoqBlog
*/



Cette discussion est classé dans : lecture, créer, données, seule, vues


Répondre à ce message

Sujets en rapport avec ce message

Créer et utiliser une base de données [ par M_karim8 ] Bonjour,quelqu'un aurait il l'amabilité de m'expliquer la base, c'est à dire créer une base de donnée sous sql server 2005 express edition.merci d'ava créer une procédure stockée qui renvoie des données [ par bossun ] salut,je ne connais pas vraiment oracle. je voudrais créer une procédure stockée qui me renvoie des données pour des besoins spécifiques...dans sql se Creation de base de données [ par bruce207 ] Bonjour,je débute avec Oracle dont j'ai installé la version 8 sur ma machine. Pour créer une base de données j'ai utilisé Oracle Database Assistant do Créer une table avec plusieurs autre table. [ par Hirald ] Bonjour,J'ai créer une base de données Access à partir du catalogue d'une compagnie (pour la compagnie) sauf que un manque de communication a causé le Créer 2 colonne à partir des données d'une troisième [ par pintux ] <link rel="Fi Créer un enregistrement à partir de plusieurs [ par fredgil ] Bonjour,Pour transmettre certaines données de ma BDD vers celle d'un organisme partenaire, j'ai besoin de réorganiser mes données de la manière suivan créer une base de données pour "joueurs" [ par yoann57420 ] bonjour ,je suis débutant en sql mais j'ai dans l'idée de créer un site web avec des jeux de grattage et peut être d'autre jeux en flash de type" aven base de données géographique [ par moi1986 ] salutje veux utiliser PostgresSQL pour créer une base de données géographique.cette base contient ttes les proprietés d'une ville.Celà me sert pour de base de données géographique [ par moi1986 ] salutje veux utiliser PostgresSQL pour créer une base de données géographique.cette base contient ttes les proprietés d'une ville.Celà me sert pour de TRANSACTIONS [ par awjan ] Bonjour, je voudrais savoir comment on peut gérer les transactions genre (deux personnes qui travaillent sur les mêmes données, l'un des deux supprime


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.