2010-05-14 4 views
0

Je veux utiliser une base de données embed a sqlite dans une application tcl existante (migrée à partir d'un fichier plat).sqlite utiliser dans le script tcl sur nfs (ou .. comment faire sqlite3 standalone qui peut être exécuté sur nfs)

Actuellement; notre interpréteur tcl est exécuté à partir d'un emplacement réseau;

J'ai un nfs $PATH pour les fichiers exécutables déjà définis pour tous les utilisateurs; Je suppose que je peux placer un sqlite3 autonome là-bas exécutable; bien que je n'ai pas été trouvé un moyen facile de compiler un lib local sqlite indépendant encore ... (tous les clients linux, exécutant quoi que ce soit de red hat 9 à ubuntu 10.04)

Toute personne capable de me pousser dans la bonne direction dans la construction un binaire autonome sqlite3 que je peux utiliser dans mon installation ncl tcl?

+0

Avez-vous une question? –

Répondre

2

Tout d'abord, Tcl 8.3.5 est ancien et relativement lent. Mise à niveau vers 8.4 ou 8.5 (si vous le pouvez) verra des améliorations de performance (exactement ce qui est plus rapide dépend de ce que fait votre script).

Deuxièmement, le support SQLite est généralement effectué via un package chargeable (classiquement appelé sqlite3). Vous aurez besoin d'une version qui fonctionne avec la version la plus ancienne de Tcl que vous supportez (compiler simplement en mode stubbed - je pense que c'est par défaut - contre la version la plus ancienne de Tcl que vous voulez supporter) et mettre dans un répertoire (en tant qu'installation complète du package) que vous avez sur votre code auto_path. L'un des meilleurs moyens de le faire est d'obtenir un tclkit fichier unique exécutable for Linux et d'intégrer le paquet sqlite3 avec votre dans ce; c'est bien parce que vous pouvez tout rassembler en un seul endroit pour que les utilisateurs ne puissent pas facilement perturber les choses en définissant des variables d'environnement ou d'autres non-sens. Il y a plus d'aide à faire cela à https://stackoverflow.com/questions/1379577/…

En troisième lieu, les bases de données de mélange et NFS (ou tout autre système de fichiers en réseau) est pas recommandé en raison des difficultés avec verrouillage distribué et assurer un bon rinçage à un stockage permanent pendant la transaction COMMETTRE. Assurer l'intégrité des données dans ces conditions est tout simplement difficile!

+0

Merci pour les commentaires, me donne quelque chose à fouiller. Comme pour DB sur NFS; Je prévois seulement de faire des lectures sur nfs; donc je ne pense pas que je vais avoir des problèmes de verrouillage (Bien que je vais découvrir une fois que j'ai mon lit d'essai complètement débusqué :) :) – wom

+0

Trouvé une solution, Merci :) – wom

Questions connexes