|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Nicolas Inscription : décembre 2010 Messages : 26 ![]() |
Bonjour,
Dans notre entreprise, un (mauvais) programme fait à la fois office de client et de serveur. Sur le serveur, la première instance de ce programme à accès parfaitement à des ressources dans le réseau et à la base de données firebird. Cette instance du programme joue le rôle du « serveur » en récupérant des infos et en les injectant dans la BD. Le chemin vers la base de données est hard-codé en dur dans le programme. Donc pour l’utiliser en « multi-utilisateur », j’ai du activer sur mon serveur le service « Terminal-Server ». Du coup, à partir de la seconde instance du programme, le programme n’arrive pas à accéder aux ressources réseau mais bien à la BD alimentée par la première instance du programme… Les instances de ce programme ouvertes après le premier, jouent le rôle de « clients » avec uniquement les lectures/écritures dans la BD. Donc j’ai configuré ce serveur pour démarrer automatiquement en tant que Administrateur sans demander de s’authentifier. Ensuite j’ai configuré dans la session de l’administrateur de démarrer automatiquement mon programme. Du coup, je m’assure que le 1er programme joue bien le rôle de serveur. Ainsi le second, le troisième, etc qui seront ouverts par des utilisateurs du réseau joueront bien le rôle des clients. Et en plus ça marche (Avec des utilisateurs réseau à qui j’ai donné le droit d’accès en écriture dans le dossier du programme où se trouve la BD ainsi que le droit de se connecter en RDP) !!! Je vous passe le chapitre ou je dois redémarrer plusieurs fois par jour l’instance du programme qui jour le rôle de serveur parce que ce programme perd ses liaisons vers ses ressources dans le réseau…. J’en arrive enfin à mon problème… Excusez la tartine… Au lieu de mettre mon login et password « Administrateur » en clair dans le registre pour forcer l’ouverte de session, j’ai refait mon truc avec un compte dédié. J’ai donné les pleins droits d’accès à l’utilisateur dédié sur le dossier c:\program files\firebird\... et c:\program files\monMauvaisProgramme et j’ai configuré le serveur pour démarrer dans la session de celui-là et lui démarrer la première instance du programme. Et là, surprise !!! Les utilisateurs qui se connectent au programme via RDP reçoivent un message qui dit que la BD est occupée… Le message exacte dit : I-O Error while connecting to the database c:\....fichier.fdb. Error while Trying to open file. Le processus ne peut pas accéder au fichier car fichier est utilisé par un autre processus. Je ne comprends pas ce comportement. Je viens donc vous demander. Est-ce que Firebird fait qqc de spécial dans le traitement de sa BD suivant que le compte possède non pas le privilège, mais le nom administrateur ? Car c’est vraiment ça qui se passe. Par ailleurs j’ai aussi intégré mon utilisateur au groupe « Administrateur » en local et même en domaine, mais j’observe le même problème. Après tant d'efforts je ne peux plus abandonner ![]() ![]() ![]() Merci d’avance pour vos conseils. Nico |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
version de Firebird ?
tu as lu la doc ? en particulier ça : http://www.firebirdsql.org/file/docu...210-wintrusted pourquoi utiliser le protocole direct local ? utiliser le protocole tcp/ip et tout ira mieux ça : Citation:
seul le service firebird lui même doit avoir acces aux bases
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com