Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
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 04/08/2003, 12h16   #1
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 75
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juillet 2002
Messages : 75
Points : 35
Points : 35
Par défaut Datasource dynamique

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.
Lux interior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2003, 14h08   #2
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2003, 14h49   #3
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 75
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juillet 2002
Messages : 75
Points : 35
Points : 35
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 ?????
Lux interior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2003, 15h43   #4
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2003, 11h49   #5
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 75
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juillet 2002
Messages : 75
Points : 35
Points : 35
Pas d'autres idées ??????????????????
Lux interior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2003, 14h56   #6
Membre régulier
 
Inscription : janvier 2003
Messages : 207
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 207
Points : 94
Points : 94
Envoyer un message via MSN à rgarnier
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 :

Code :
 SELECT * FROM {$MyInstance}.CLIENTS
$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
rgarnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2003, 16h46   #7
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 75
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juillet 2002
Messages : 75
Points : 35
Points : 35
C'est une bonne idée,

Sous SQL Server il suffit de respecter la syntaxe suivante :

Code :
select * from [NomDeLaBase].dbo.NomDeLaTable
Je pousse mes recherches ...

Merci
Lux interior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2003, 11h18   #8
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
Par défaut Moi aussi ca m'interesse

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 ), en modifiant les sources fournies et en recompilant ca fonctionne (je sais c pas bien!).

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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
try
 
   (* Modifs TEST MICHAEL 22/08/03 *)
   p := TWideStrings.create;
   try   
      ScanParams(DataSource,p);
      Query.Database := XMLGram.XMLCollection.GetDatabaseComponent(
        XMLApp.ReplaceParams(DataSource, p, Context));
   finally
      p.free;
   end;
   (* Fin Modifs TEST *)
 
   if FStatementParams.Count > 0 then
En déclarant p :
A present on peut ecrire dans le DBExtract du XMLGRAM:
Code :
<DataSource>{$DB}</DataSource>
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
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2003, 11h41   #9
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 75
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juillet 2002
Messages : 75
Points : 35
Points : 35
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.
Lux interior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2003, 11h49   #10
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
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
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2003, 11h02   #11
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h59.


 
 
 
 
Partenaires

Hébergement Web