Forum Clubic

SQL any 5.5 - Besoin de maintenir ce vieux nanard dans un environnement plus moderne

Bonjour,

Je dois maintenir une application qui utilise le client SQL anywhere de Sybase dans un nouvelle environnement et j’aimerais avoir quelque chose de plus propre afin de pouvoir mieux maintenir cette application.

l’application est en deux parties:

  • la partie poste de travail (l’application en elle même)
  • la partie serveur (service de synchro entre une instante et un serveur Oracle)

Avertissement: cette application a été développée avec les pieds par des personnes qui maitrisent certainement le développement et les bases de données mais aucunement les systèmes et les OS Microsoft, la méthode d’installation est par conséquent le parfait exemple de ce qu’il ne faut pas faire.

Les instances des bases utilisées, la définition du pilote ODBC, et l’enregistrement du client SQL any sont fait à la barbare par modification de la base de registre dans la partie spécifique à l’utilisateur !!!
Il n’y a pas de véritable architecture client serveur: les bases sont sur les serveur mais accédé par un partage comme si la base était locale pour le poste de travail !!!

Conséquences:

  • impossible de faire de l’accès concurrentiel à la base :heink:
  • pour que le compte de service qui tourne sur le serveur puisse faire tourner correctement la synchro il faut ouvrir une session avec :ouch:
  • pour qu’un utilisateur puisse utiliser l’application sur un poste, il faut appliquer la modif de la base de registre pour chaque nouveau profil sur le poste :pfff:
  • rien n’apparait dans l’outil de gestion ODBC du système (que ce soit XP Pro, Win2K Server ou Win2K3 server)

Ce que j’aimerais obtenir:

  • être en mesure de définir les instances ODBC sur le poste client et sur le serveur de manière propre afin d’avoir un process d’installation des deux composants propre. C’est à dire définir une fois et une seule l’instance afin que n’importe quel profil y ait accès.

Ce que j’ai essayé:

  • modifier la base de registre au niveau HKLM au lieu de HKLU: malheureusement insuffisant
  • modifier la base de registre au niveau HKU.Default pour que tout nouveau profil en hérite : malheureusement cela ne fonctionne pas pour la partie ODBC

Ce que j’ai trouvé:

  • il semble que le client SQL any 5 contienne un dbclient.exe qui permet de faire tout ce dont j’ai besoin en ligne de commande
  • bien évidemment, le développeur ne nous a fournit que le strict minimum dans les objets et celui ci n’en fait pas partie :sweet:
  • le client SQL any 5 n’est pas disponible en téléchargement :neutre:
  • il s’agit d’un vieux moteur qui n’aurait jamais du être utilisé dans une tel environnement :ane:

Si quelqu’un à une quelconque expérience de SQL any 5 ou est en mesure de m’aider à déclarer proprement les pilotes ODBC et les instances je suis preneur.

Merci d’avance

Koin-Koin

Petit mieux:

-J’arrive a enregistrer manuellement les pilotes ODBC et par conséquent à créer l’instance via le système

Maintenant il faut que j’arrive à faire fonctionner le soft avec ces définition “Système” et scripter le tout pour le reproduire à l’identique (masters serveur et poste de travail).

Toute info sur le sujet est la bienvenue.

Nouveau progrès:

odbcconf.exe semble être mon ami :smiley:

Encore une fois si quelqu’un à déjà fait mumuse avec ce genre de chose, je suis preneur.
Edité le 27/01/2011 à 17:47

Quelques liens utiles:

Et bien au final j’arrive à m’en sortir.

Une fois les pilotes correctement inscrit, ils apparaissent bien dans la liste des pilotes ODBC. Idem pour les base de données qui sont bien définies au niveau machine et pour lesquelles le parmaétrage est possible via le panneau de config.

Pour les clés de registre que l’application s’obstine à aller cherche dans les paramètres utilisateurs mais pour lesquelles le transfert de HKCU vers HKU.default ne fonctionne pas je suis en train de tester HKEY_USERS\S-1-5-18.

Cela fonctionne pour la partie serveur (service qui tourne en Local System au lieu d’un compte de service avec pouvoir), il reste à tester pour la partie application poste de travail.