|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Le but est de pouvoir laisser le choix à l'utilisateur entre plusieurs bases de données recensées dans un combobox.
Je m'explique, dans l'IDE XMLRAD on peut définir la datasource qui va être employée avec toute l'application ces informations sont enregistrées dans le fichier "NomApplication.DataSources.xml". Pour la part j'aimerai pourvoir constituer mon propre fichier "NomApplication.DataSources.xml" avec toutes les base de données disponibles. Ce fichier ainsi constitué sera importé dans mon xmlgram et le nom de chaque base de données affiché dans un combobox. L'utilisateur pourra donc l'hors de sont entrée sur le site choisir sa base de données et travaillé en suite uniquement sur cette base. Bien entendu, ce choix est propre à l'utilisateur et ne doit en rien modifier les bases choisies par les autres utilisateurs connectés. J'ai tenté quelques bidouilles mais pas vraiment concluantes notamment avec XMLApplication.DataSources Si vous avez quelques bonnes idées ......................... Fréd. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
pourquoi ne pas directement modifier le fichier Project.DataSource.xml ?s'il est modifié, le framework rechargera tous les ficiers de conf...
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Parce que je ne veux pas que les autres utilisateurs connectés travaillent sur une base qui a été choisie par le dernier utilisateur entré sur le site. En effet, si le fichier "MonApplication.datasources.xml" est modifié par ma dll un utilisateur travaillant sur la base "BaseA" risque de travailler sans s'en rendre compte sur la base "BaseB" choisie par le dernier arrivé.
Suis-je claire ????? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
aie la ca se complique je ne vois pas de solution simple au problème...
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Pas d'autres idées ??????????????????
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() |
J'aurais peut-être une solution .....
Je l'ai testée avec Oracle. En fait, il s'agit d'avoir plusieurs schémas, mais sur une instance unique ; cela te permet d'avoir un seul datasource pointant sur ton instance qui elle peut dispatcher sur plusieurs schémas. Dans tes dbextract et dbbatchs, il faudra que tu ajoutes {$MyInstance} du style : $MyInstance peut être un cookie qui est initialisé au log de l'utilisateur par exemple. A voir si tu peux le mettre en oeuvre sur SQL Server ou autre (et tant qu'à faire, continuer ce threads afin de donner les résultats
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
C'est une bonne idée,
Sous SQL Server il suffit de respecter la syntaxe suivante : Code :
select * from [NomDeLaBase].dbo.NomDeLaTable Merci |
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Inscription : août 2003 Messages : 354 ![]() |
Bonjour,
Je suis aussi interesse par cela... j'aimerais pouvoir utiliser la même application sur différentes datasources simultanément en fonction de l'utilisateur "connecté". J'ai trouve un debut de solution (pas tres catholique je dois l'admettre, mais si nos chers editeurs de chez e-delos pouvaient y songer XMLGRam.pas, ligne 4980. procedure OpenStatement, de TDBExtract.DoProcess: Ajoutez au début de la procedure (dans le bloc try except déjà présent) ce qui est entre les deux commentaires: Code :
A present on peut ecrire dans le DBExtract du XMLGRAM: et affecter le paramètre DB dans le context: &DB=MyDATABASE. Biensur il faut que MyDATABASE existe dans dans les sources de données déclarées. Je sais que cette solution n'est pas géniale dans la mesure ou on touche aux sources et surtout on pert probablement les mécanismes puissants de cache (?) (et en plus il faudrait le faire pour toutes les instructions DB!), mais si vraiment tu as besoin de cela... Mais en ce qu'il me conserne je ne pense pas que le j'utiliserais. Cordialement, Michael |
||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Merci beaucoup pour ton petit morceau de code. J'avais commencé à trifouiller dans les sources aussi et c'est rgarnier qui m'a fait stopper toutes mes compilations.
Mon architecture de travail colle assez bien à sa solution car toutes mes bases de données sont sur la même machine et elles ont toutes la même structure. J'ai d'ailleurs commencé mon appli et pour le moment c'est assez performant. En tout les cas je conserve précieusement ta réponse. Et je te remercie encore. Frédéric. |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : août 2003 Messages : 354 ![]() |
Tant mieux!
Malheureusement, dans mon cas il est tres rare que les différentes base soient sur la même instance (oracle ou MSSQL, d'ailleurs on pourrait mixer les deux!), mais c'est vrai que l'idée est forte interessante... Mais je reste toujours à l'écoute d'une solution adaptée ;-) Peut être pour la Final Realease de XMLRAD 7 ? Michael |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() |
Le code de Jeweller est exactement ce à quoi je pensais pour résoudre le problème et de plus il m'a l'air correct. je vais soumettre cette modif à e-delos pour la prochaine version !
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com