2011-11-23 42 views
1

Dans mon programme, j'ai plusieurs bases de données. L'un est fixe et ne peut pas être changé, mais il y en a aussi d'autres, les soi-disant bases de données utilisateur. Je pensais maintenant que je dois démarrer pour chaque base de données une connexion et se connecter à chaque dictionnaire de données. Comment est-il possible de se connecter à plus d'une base de données avec une connexion en transmettant le nom de fichier du dictionnaire de données? Btw. J'utilise un serveur local.Comment gérer plusieurs accès à la base de données?

merci beaucoup,

André

P.S .: D'accord, je pourrais trouver la réponse à mon problème. Le mot clé est CreateDDLink. La procédure se connecte à un autre dictionnaire de données, mais avant qu'un dictionnaire principal doive être défini.

Répondre

1

Les liens peuvent être ce que vous recherchez comme vous l'avez indiqué dans la question. Vous pouvez utiliser l'API ou SQL pour créer un alias de lien permanent, ou vous pouvez créer des liens de manière dynamique à la volée.

Je recommande l'examen de cette page d'aide spécifique: Using Tables from Multiple Data Dictionaries

pour un alias permanent (en utilisant SQL) regarder sp_createlink. Vous pouvez soit créer le lien pour authentifier l'utilisateur actuel, soit configurer le lien pour s'authentifier en tant qu'utilisateur spécifique. Ensuite, utilisez le nom du lien dans vos instructions SQL. select * from linkname.tablename

Ou vous pouvez utiliser dynamiquement les éléments suivants qui authentifiera l'utilisateur actuel: select * from ".. \ dir \ otherdd.add" .table1

Cependant, les liens ne sont disponible pour SQL. Si vous souhaitez utiliser la table directement (par exemple, via un composant TAdsTable), vous devez créer des vues. Voir KB 080519-2034. La base de connaissances mentionne que vous ne pouvez pas poster de mises à jour si l'instruction SQL de la vue génère un curseur statique, mais vous pouvez contourner ce problème en créant des déclencheurs sur la vue.

Questions connexes