Question

Je cherche des informations sur la connectivité de base de données (Firebird dans mon cas) avec des applications IntraWeb.

Je dois surtout connaître la différence (s) impliqué dans l'utilisation de la base de données sur la TDataModule avec fonction LockDataModule, ou en utilisant la base de données sur le UserSessionUnit. Par exemple je dois avoir la base de données totalement déconnectée si aucun utilisateurs utilisent le serveur, et sera connecté au plus 30 utilisateurs.

Je peux au pire avoir de se connecter à une ancienne base de données Paradox et j'ai besoin d'une structure capable de gérer que (je sais que je vais devoir générer un dossier basé sur WebApplication.AppID aux sessions de poignée). Au pire ...

Merci d'avance pour toute information ou liens utiles que vous pourriez me fournir ^^

Était-ce utile?

La solution

Scénario 1 - Vous quittez "Connexions Data Pool" décochée dans l'Assistant Application Intraweb

Dans ce scénario, l'assistant crée un ServerController, un UserSession mais pas un DataModule. Vous placez votre base de données, session et ensembles de données sur les composants du UserSession.

Chaque fois qu'un nouveau utilisateur se connecte à votre site une nouvelle instance de la UserSession est créé et une connexion à la base de données est faite. Lorsque le ServerController.SessionTimeOut expire en raison de l'utilisateur inactivité du UserSession est détruite et que la connexion particulière à la base de données est coupée.

Pour 30 utilisateurs simultanés ce modèle sera probablement bien pour vous et garantir que toutes les connexions de base de données seront sectionnées lorsque le site n'est pas utilisé.

Scénario 2 - Vous check "Pool connexions de données" dans l'Assistant Application Intraweb

ainsi que la ServerController et l'UserSession l'assistant crée un vide DataModule. Vous placez votre base de données, session et ensembles de données sur les composants du DataModule.

Le ServerModule a une composante TIWDataModulePool sur ce qui a la propriété de PoolCount.

Lorsque votre application démarre, il crée des instances PoolCount du DataModule dont chacun établit une connexion à la base de données. Comme vos pages nécessitent un accès de base de données qu'ils appellent LockDataModule et UnlockDataModule faire temporairement l'utilisation de l'une des instances de DataModule de la piscine.

Lorsque votre application ferme les instances de DataModule dans la piscine sont détruits et leurs connexions à la base de données sont fermées.

Ce modèle est approprié en ayant une connexion de base de données ouverte par l'utilisateur dépasse les capacités de votre serveur de base de données. Pour seulement 30 utilisateurs qui se connectent à une base de données FireBird Je ne crois pas qu'il serait nécessaire.

Autres conseils

Vous voudrez peut-être envisager d'utiliser un ensemble composant comme kbmMW par http://www.components4programmers.com/ Je l'ai utilisé pendant des années avec des applications de bureau ans maintenant avec IW apps. Je déploie mes applications comme services et ayant actuellement quelques problèmes comme le déploiement ISAPI. kbmMW est bien adapté pour une application avec beaucoup de connexions car il offre la mise en commun de connexion etc ... Il a de nombreuses fonctionnalités et avantages. Consultez le site pour vous-même.

J'utilise la version Enterprise, bien que je pense que la version gratuite peut être utile pour vous.

Vive!

-Lou

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top