Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2007, 12h52   #1
Membre confirmé
 
Avatar de g0up1l
 
Inscription : janvier 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 336
Points : 259
Points : 259
Par défaut sécurité des transactions

Bonjour,

qqun sait-il comment la sécurité d'une transaction avec InterBase ? Notamment, comment bloquer une table ?

Ex : je veux insérer une ligne puis faire un 'SELECT' pour ramener le dernier identifiant créé par le serveur. Mais comment garantir que l'id. ramené est bien celui que j'ai créé et non pas le fait d'un autre user ?

merci d'avance.
g0up1l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 14h31   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
le mieux pour cela est d'utiliser un générateur
quelle idée saugrenue de vouloir bloquer une table
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 16h04   #3
Membre confirmé
 
Avatar de g0up1l
 
Inscription : janvier 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 336
Points : 259
Points : 259
je te précise un truc : le générateur ne te permet que de générer un ID, ce qui n'a rien à voir avec mon problème.
Le problème justement c'est de pouvoir récupérer ce dernier ID généré automatiquement lors de l'insertion d'une nouvelle ligne.
1 -tu insères avec 'INSERT'
2 -tu fais un 'SELECT id'
3 -comment être sûr, que l'id est bien celui issu de l'INSERT précédent ? En effet, un autre client a pu lui aussi faire un INSERT entre temps et donc regénérer un id.
-> le mieux est donc de garantir que la table ne peut être modifiée entre ton 'INSERT' et ton 'SELECT id', mais comment ?
g0up1l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 16h19   #4
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
si justement cela à avoir avec ton "problème"
seul un générateur, qui fonctionne hors transaction peu te garantir l'unicité et sans avoir besoin de bloquer quoi que ce soit
cela n'est pas un problème de récupérer la valeur du générateur
soit en le "générant" avant puis en utilisant cette valeur dans l'insert, soit en faisant l'insert et en récupérant dans le même temps la valeur générée
en utilisant avec Firebird 2 la syntaxe :
Code :
INSERT INTO ... VALUES (...) [RETURNING <column_list>]
et comme ça on ne bloque rien, ce qui est toujours mieux
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 18h10   #5
Membre confirmé
 
Avatar de g0up1l
 
Inscription : janvier 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 336
Points : 259
Points : 259
ah ouais, je ne connaissais pas l'option [RETURNING <col>] et pour cause, j'utilise IB 6.
Donc, il faudrait que je passe sur FB 2.0...
g0up1l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 18h18   #6
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
passer à FB2 très bonne idée surtout que FB2.0.1 sort cette semaine
et que IB6 ... je n'ose même pas redire pour la xième fois tout le mal que je pense de cette version digne de windows millenium, c'est tout dire.
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 18h39   #7
Membre confirmé
 
Avatar de g0up1l
 
Inscription : janvier 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 336
Points : 259
Points : 259
Ok, merci du conseil

mais FB 2 est-il fournit avec avec un outil graphique comme IBConsole ? Qui est quand même super pratique !
g0up1l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 09h23   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
IBconsole ? ce dinosaure aux faibles fonctionnalités ?
il y a bien meiux depuis, et il y a le choix, pour tous les gouts, toutes les plateformes
les plus populaires sont :
http://www.flamerobin.org/
et
ibexpert (il y a une free personal edition) http://www.ibexpert.com/
mais mon préféré est databaseworkbench http://www.upscene.com/

la liste complète est là :
http://www.ibphoenix.com/main.nfs?a=...bp_admin_tools
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2007, 13h19   #9
Membre confirmé
 
Avatar de g0up1l
 
Inscription : janvier 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 336
Points : 259
Points : 259
je remonte ce vieux post uniquement pour remercier Philippe des conseils
g0up1l est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h08.


 
 
 
 
Partenaires

Hébergement Web