|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
S.V.P.
Dans mon application, j'ai deux base de données (datalocal.gdb et datanet.gdb). datalocal.gdb : contient les données non partagées, c.à.d. : données de paramétrage de poste en cours. datanet.gdb : contient les données partagées en réseau. J'ai pas de problème de connection à la base de donnée distante. Tous se passe très bien pour touts les postes. Mais, ce qui est étonnant, je peux pas accéder à la base de donnée local des postes clients !!! Le serveur peux accèder à sa BD local. Est-ce que dans Interbase-Client, je peux pas accèder à plus d'une seul BD ? Je tiens à signaler que dans les postes clients, je n'ai installé que InterBase_WI-V6.0.1-client. mais dans le serveur j'ai installé InterBase_WI-V6.0.1-server. J'ai fais des essai même avec IBConsole, mais le message d'erreur suivant apparait : "Unavailable database Database : c:\Mydata\datalocal.gdb" C'est qlqn a une idée ? Ou si je peux me débarrasser de la base de donnée local en utilisant une autre technique de paramaitrage. Ne me dit pas d'utiliser la table des registre ou win.ini, c'est lourd, et j'ai plsrs variables a modifier et à consulter tout le tremps de l'execution de l'Application. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Si vous voulez utiliser des bases locales il faut installer sur chacun des poste interbase serveur en plus du client.
Sinon j'utiliserai plutot la base des registres ou les .ini avec Delphi/BC++ il y a plein de fonctions qui les rendent extrèmement facile d'utilisation. Mais bon si ce n'est pas de votre gout, l'autre solution c'est de tout mettre sur le serveur, ce qui aura en plus l'avantage de pourvoir sauvegarder plus facilement ces paramètres et éventuellement les partager... Donc sur le serveur vous pouvez soit intéger à votre base les tables necessaires auquels vous aurez ajouté une colonne UTILISATEUR pour ne pas mélanger les paramètres des différents utilisateurs. Ou dans une base à part comme vous l'avez fait avec vote base locale mais toujours en ajoutant la colonne UTILISATEUR à vos tables pour restituer que les paramètres de l'utilisateur (bien entendu il faudra modifier aussi les selects sur ces tables en y ajoutant dans la clause WHERE UTILISATEUR=:UTILISATEUR.) UTILISATEUR étant demandé lors du l'ancement de votre application ou est récupéré d'un .ini ou base de registre pour éviter une resaisie. |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() |
Oui, c'est ce que je fesais, mais, le problème est que tous les utilisateurs accèdent à cette base situé en serveur, et la chance d'avoir des message d'erreur est plus forte et l'accès sera lent.
Pour moi, je veux que la base locale soit accéssible seulement à l'utilisateur en cours, comme ça il y aura pas de conflit avec les autres. Merci Barbibule pour ta répense, si tu as d'autre propositions, n'hésite pas à me les proposer. Tu as écrit : Citation:
Moi je connait : Read et write qui sont lourd à l'exécution. Et il faut tenir que j'ai plusieurs valeur temporaires à sauvegarder. Merci... |
|
|
|
00
|
|
|
#4 | |||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Premièrement le serveur est 'normalement' plus performent que les postes. Secondo vos paramétres sont certes sur le serveur mais chaque poste a son jeu de paramétre lui étant propre, il ne peut en aucun cas y avoir des conflits d'accès. Citation:
Mais par exemple avec Delphi pour écrire dans un .ini ou dans le base des registre c'est très simple et se fait de la même manière. Code :
|
|||||
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 379 ![]() |
a propos des bases local, faire attention que "c:\mabase" peux échouer! il est préférable d'indiquer "127.0.0.1:c:\mabase" ou mieux avec firebird 1.5 et probablement d'autre version utiliser les alias, c'est plus sûr, et plus simple à gérer, dans ce cas, la chaîne de connexion devient "127.0.0.1:mabase" et dans l'alias.conf on y met: et hop, le tout et dans la boîte.
bien sur, comme dit plus-haut, il faut installer un serveur firebird/interbase sur le poste du client, sans cela, pas d'espoir. a ce sujet, il me semble avoir vu quelque part qu'il existe un moyen d'obtenir une connexion local à une base local via un client (gds32.dll ou son equivalent) qui contenait le "serveur" sans devoir installer le serveur proprement dit, mais cela reste à vérifier! cela dit, que ce soit en linux ou en windows, le systeme firebird/interbase client/serveur sont installés en moins de temps qu'il n'en faut pour le dire, alors pourquoi sans priver, sans compter que cela fonctionne (si si) sur des pentiums mmx à 200Mhz mais il est curieux de travailler une fois en local et une fois en réseaux sur des postes fixes!? comme Barbibulle le dit, il n'y a aucun confilt à raccorder 50 ou 100 clients à un unique serveur! Si vous avez un doute, essayez alors un firebird classique serveur sur une machine linux du genre bi-pro intel xeon avec 2 giga de ram et des disques scsi en raid 0+1 (10) et la, vous allez voir la moquette ce décoller... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com