OVH Cloud OVH Cloud

Au secours !!! :-)

11 réponses
Avatar
Tong Toi
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois

10 réponses

1 2
Avatar
kim
Bonjour,

je ne sais pas si c'a va t'aider mais essayes 'utilisateur unique', dans les
proprietés de la base de données/options/accès/limiter l'accès/utilisateur
unique

@+ Kim

"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et


pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois




Avatar
Tong Toi
en fait, je pose la question dans le cadre du developpement d'un jeu de
cartes en Java.
Le probleme se pose pour la distribution des cartes. En effet, plusieurs
clients se connectent a la base au meme moment, et piochent des cartes dans
le meme tas de cartes. Je voudrais qu'ils les piochent l'un apres l'autre.

Voila :)


"Christian" a écrit dans le message de
news:
oui tu peux limiter l'accés à ta base de données à un seul utilisateur


(toi)
par exemple.
Tu peux le faire dans les propriétés de ta base de données (onglet


options)


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
> Bonjour,
>
> Voici mon probleme :
> Est-il possible de bloquer l'acces a la base de donnees pendant une


courte
> periode ?
> En fait, je modifie un champ (SELECT, modifications puis UPDATE), et
pendant
> le traitement, je voudrais quel les requetes arrivant sur cette table


(ou
> meme la base toute entiere, ca ne sera pas trop grave) se mettent en
> attente, pour reprendre apres l'UPDATE de la modif.
>
> Merci d'avance
>
> Francois
>
>




Avatar
Tong Toi
en fait, je pose la question dans le cadre du developpement d'un jeu de
cartes en Java.
Le probleme se pose pour la distribution des cartes. En effet, plusieurs
clients se connectent a la base au meme moment, et piochent des cartes dans
le meme tas de cartes. Je voudrais qu'ils les piochent l'un apres l'autre.

Voila :)


"Christian" a écrit dans le message de
news:
oui tu peux limiter l'accés à ta base de données à un seul utilisateur


(toi)
par exemple.
Tu peux le faire dans les propriétés de ta base de données (onglet


options)


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
> Bonjour,
>
> Voici mon probleme :
> Est-il possible de bloquer l'acces a la base de donnees pendant une


courte
> periode ?
> En fait, je modifie un champ (SELECT, modifications puis UPDATE), et
pendant
> le traitement, je voudrais quel les requetes arrivant sur cette table


(ou
> meme la base toute entiere, ca ne sera pas trop grave) se mettent en
> attente, pour reprendre apres l'UPDATE de la modif.
>
> Merci d'avance
>
> Francois
>
>




Avatar
Tong Toi
en fait, c'est moi qui execute plusieurs requetes a la fois :-)
je voudrais en sorte synchroniser ces acces.

"kim" a écrit dans le message de
news:e%
Bonjour,

je ne sais pas si c'a va t'aider mais essayes 'utilisateur unique', dans


les
proprietés de la base de données/options/accès/limiter l'accès/utilisateur
unique

@+ Kim

"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
> Bonjour,
>
> Voici mon probleme :
> Est-il possible de bloquer l'acces a la base de donnees pendant une


courte
> periode ?
> En fait, je modifie un champ (SELECT, modifications puis UPDATE), et
pendant
> le traitement, je voudrais quel les requetes arrivant sur cette table


(ou
> meme la base toute entiere, ca ne sera pas trop grave) se mettent en
> attente, pour reprendre apres l'UPDATE de la modif.
>
> Merci d'avance
>
> Francois
>
>




Avatar
Bonjour,

tu peux utiliser les verrous (serializable, readcommitted etc etc ) en
fonction de ce que tu veux verrouiller certains autorise par exemple la
lecture des données mais pas le reste tu dois placer cela dans une
transaction sur laquelle tu pourra faire un rollback ou un commit en
fonction du résultat pour savoir si une instruction sql c bien passée il te
suffit de tester la valeur du @@error juste après la commande sql 0 si c bon
0 si il y a une erreur



Sebastien


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et


pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois




Avatar
Bonjour,

tu peux utiliser les verrous (serializable, readcommitted etc etc ) en
fonction de ce que tu veux verrouiller certains autorise par exemple la
lecture des données mais pas le reste tu dois placer cela dans une
transaction sur laquelle tu pourra faire un rollback ou un commit en
fonction du résultat pour savoir si une instruction sql c bien passée il te
suffit de tester la valeur du @@error juste après la commande sql 0 si c bon
0 si il y a une erreur



Sebastien


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et


pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois




Avatar
Tong Toi
merci
je vais regarder comment ca marche et je donne un exemple quand ca
fonctionne


a écrit dans le message de
news:%
Bonjour,

tu peux utiliser les verrous (serializable, readcommitted etc etc ) en
fonction de ce que tu veux verrouiller certains autorise par exemple la
lecture des données mais pas le reste tu dois placer cela dans une
transaction sur laquelle tu pourra faire un rollback ou un commit en
fonction du résultat pour savoir si une instruction sql c bien passée il


te
suffit de tester la valeur du @@error juste après la commande sql 0 si c


bon
>0 si il y a une erreur

Sebastien


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
> Bonjour,
>
> Voici mon probleme :
> Est-il possible de bloquer l'acces a la base de donnees pendant une


courte
> periode ?
> En fait, je modifie un champ (SELECT, modifications puis UPDATE), et
pendant
> le traitement, je voudrais quel les requetes arrivant sur cette table


(ou
> meme la base toute entiere, ca ne sera pas trop grave) se mettent en
> attente, pour reprendre apres l'UPDATE de la modif.
>
> Merci d'avance
>
> Francois
>
>




Avatar
Christian
oui tu peux limiter l'accés à ta base de données à un seul utilisateur (toi)
par exemple.
Tu peux le faire dans les propriétés de ta base de données (onglet options)


"Tong Toi" a écrit dans le message de
news:40cec0b1$0$7706$
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et


pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois




Avatar
Fred BROUARD
On t'a dit beaucoup de choses, mais pas beaucoup de bonnes choses.

Il te faut gérer une transaction.
C'est simple, c'est prévu depuis que la norme de langage SQL existe.
Les bases de données sont faites essentiellement pour cela.

A lire sur le sujet :
Les transactions en général :
http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01
Transactions et procédures stockées sous MS SQL Server
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#4.6

En revanche, bloquer l'accès à une base de données est une chose à ne jamais faire, sauf pour des nécessité de
maintenance lourde. Exemple : changer un disque...

A +


Tong Toi a écrit:
Bonjour,

Voici mon probleme :
Est-il possible de bloquer l'acces a la base de donnees pendant une courte
periode ?
En fait, je modifie un champ (SELECT, modifications puis UPDATE), et pendant
le traitement, je voudrais quel les requetes arrivant sur cette table (ou
meme la base toute entiere, ca ne sera pas trop grave) se mettent en
attente, pour reprendre apres l'UPDATE de la modif.

Merci d'avance

Francois





--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Tong Toi
merci beaucoup !!!
et merci a tous les autres m'ayant mis sur la voie

Francois



"Fred BROUARD" a écrit dans le message de
news:
On t'a dit beaucoup de choses, mais pas beaucoup de bonnes choses.

Il te faut gérer une transaction.
C'est simple, c'est prévu depuis que la norme de langage SQL existe.
Les bases de données sont faites essentiellement pour cela.

A lire sur le sujet :
Les transactions en général :
http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01
Transactions et procédures stockées sous MS SQL Server
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#4.6

En revanche, bloquer l'accès à une base de données est une chose à ne


jamais faire, sauf pour des nécessité de
maintenance lourde. Exemple : changer un disque...

A +


Tong Toi a écrit:
> Bonjour,
>
> Voici mon probleme :
> Est-il possible de bloquer l'acces a la base de donnees pendant une


courte
> periode ?
> En fait, je modifie un champ (SELECT, modifications puis UPDATE), et


pendant
> le traitement, je voudrais quel les requetes arrivant sur cette table


(ou
> meme la base toute entiere, ca ne sera pas trop grave) se mettent en
> attente, pour reprendre apres l'UPDATE de la modif.
>
> Merci d'avance
>
> Francois
>
>

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************



1 2