Changer de Base de données et de schémas
Pour changer un composant de base de données sur le mappage afin qu'il utilise une nouvelle connexion de base de données, ouvrir les paramètres de composant de base de données, cliquer sur Modifier, et suivre les instructions de l'assistant pour vous connecter à la nouvelle base de données. Si vous souhaitez uniquement modifier les objets de la base de données qui sont affichés dans le mappage, cliquer avec la touche de droite sur la barre de titre du composant de base de données et choisir Ajouter/Éditer/Supprimer des objets de base de données depuis le menu contextuel, voir aussi Notions fondamentales de Base de données.
Veuillez noter que, par défaut, une modification de la base de données ne remappe pas toutes les connexions de mappage existantes de ou vers le composant de base de données. Avec la plupart des types de base de données, néanmoins, il est possible de préserver les connexions de mappage après être passé à une autre base de données, si vous prenez la peine de respecter les étapes de préparation décrites dans cette rubrique.
En sélectionnant des objets de base de données comme décrit dans Ajouter, Éditer, Supprimer des objets de base de données, vous pouvez choisir en option si des noms d'objets de base de données doivent être considérés comme relatifs par rapport à un schéma par défaut. Dans le contexte des bases de données, un "schéma" est un regroupement logique des objets de base de données, généralement à des fins de sécurité comme de l'attribution des permissions. Les schémas ont un comportement légèrement différent selon le type de base de données.
Dans MapForce, traiter les noms d'objet de la base de données en tant que relatif à un schéma est important si vous prévoyez de changer plus tard le mappage vers une base de données différente (par exemple dans une base de données de production). Cela est également utile si le schéma de base de données a été renommé sur le serveur à un certain moment ; vous devrez donc mettre à jour le mappage. Si le nouveau schéma a la même structure que celle utilisée au moment du design de mappage, vous pouvez y passer sans devoir changer manuellement toutes les connexions de mappage. Cela est uniquement possible si vous configurez les noms d'objet pour qu'ils soient relatifs à un schéma par défaut tel que décrit ci-dessous.
Veuillez noter :
•Utiliser les noms d'objet relatifs à un schéma par défaut est possible pour les types de base de données qui prennent en charge les schémas : IBM DB2, IBM Informix, IBM Db2 for i (iSeries), Oracle, PostgreSQL, Progress OpenEdge, SQL Server et Sybase.
•Cette fonction est prise en charge en commençant avec la version de MapForce 2020.
•Il n'est pas possible d'utiliser des noms relatifs si le composant de base de données inclut des relations locales ou des instructions SELECT en tant que tables virtuelles.
Pour traiter des noms d'objet comme relatifs au schéma par défaut :
1.Cliquer avec la touche de droite sur la barre de titre du composant de base de données sur le mappage et sélectionner Ajouter/Supprimer/Éditer des objets de base de données depuis le menu contextuel.
2.Sélectionner un ou plusieurs objets qui appartiennent au schéma par défaut, ou pour le catalogue par défaut (base de données) et le schéma, selon le cas. La base de données par défaut et le schéma sont affichés en gras. Dans l'exemple ci-dessous, le catalogue par défaut est Sandbox et le schéma par défaut est user. Cette structure est spécifique pour les bases de données SQL Server et peut varier dans d'autres types de base de données. Pour plus d'informations concernant la structure affichée, voir Ajouter, Éditer, Supprimer des objets de base de données.
3.Cocher la case Utiliser les noms d'objet relatifs au schéma par défaut. Veuillez noter que cette case à cocher est grisée si la base de données ne prend pas en charge les noms d'objet relatifs.
Si les objets que vous requérez dans le mappage se trouvent dans un schéma différent (de celui par défaut), vous disposez des alternatives suivantes :
•Se connecter en tant qu'un autre utilisateur de base de données qui a accès au schéma par défaut requis.
•Reconfigurer les serveurs de base de données de manière à changer le schéma par défaut de l'utilisateur de base de données existante, si vous disposez des privilèges requis.
Prenons l'exemple d'un Serveur SQL, un administrateur de base de données peut changer le schéma par défaut d'un utilisateur de base de données avec une déclaration comme celle ci-dessous (qui part du principe que le catalogue actuel est "Sandbox" et que l'utilisateur et le schéma existent déjà).
USE [Sandbox] |
Les objets de base de données qui sont relatifs au schéma par défaut sont affichés dans le mappage avec un nom relatif. Veuillez considérer les différences entre les deux composants de base de données :
Dans le composant de gauche, la case Utiliser les noms d'objet relatifs au schéma par défaut a été cochée, c'est pourquoi la table est affichée avec un nom relatif. Dans le composant de droite, la case n'a pas été cochée, et le nom de table contient le nom de schéma.
Lorsque les objets de base de données sont référencés de manière relative, il devient possible de faire passer le mappage dans une nouvelle base de données ou schéma, sans perdre les connexions de mappage, comme suit :
•Ouvrir les paramètres de composant de base de données et cliquer sur Changer. Suivre les instructions pour vous connecter à la nouvelle base de données en tant que nouvel utilisateur. Si vous avez qualifié les objets d'un nom relatif, et si la nouvelle base de données a la même structure, toutes les connexions dans le mappage seront mises à jour automatiquement. Plus particulièrement, elles correspondront au catalogue et schéma par défaut du nouvel utilisateur de base de données.
•Si vous souhaitez effectuer le passage de manière récurrente, il est recommandé de définir la connexion de base de données en tant que Ressource Globale. Par exemple, la Ressource globale peut présenter deux configurations : une configuration par défaut pour la base de données de développement et une configuration de production. En partant du principe que ces deux base de données ont la même structure, vous pouvez passer entre les bases de données en choisissant la configuration requise depuis une liste déroulante :
Pour plus d'informations concernant ce scénario, voir Exemple: Changer de base de données.
Si des objets de base de données apparaissent en rouge après avec changé de base de données, cela indique qu'ils n'existent pas dans le nouveau schéma de base de données. |
Génération de code
La case à cocher Utiliser des noms d'objets relatifs au schéma par défaut touche le code de programmation C#, C++, ou Java généré. Si cette case est cochée, toutes les références de base de données deviennent également relatives dans le code généré. L'exemple suivant est un exemple d'une déclaration SQL générée (en C#) lorsque la case n'est pas cochée. Veuillez noter que le nom de la table inclut le nom de schéma.
var3_NewStatement = (Altova.Db.Dbs.NewStatement(closure.var1_Connection_Instance, 1, "SELECT [id], [val], [user_data] FROM [user].[table]")); |
L'exemple suivant est un exemple d'une déclaration SQL générée (en C#) lorsque la case est cochée:
var3_NewStatement = (Altova.Db.Dbs.NewStatement(closure.var1_Connection_Instance, 1, "SELECT [id], [val], [user_data] FROM [table]")); |
Note : | Il existe encore un autre moyen de supprimer les noms de schéma dans le code généré, en sélectionnant la case Supprimer noms de schéma des noms de table dans les paramètres de composant de base de données. Cette approche est uniquement prise en charge pour une rétro-compatibilité et doit être évitée. |