Utilisation avancée > Personnalisation - Utilisation du module de liaison de base de données externes
Avertissement
Sauf durant la période d’évaluation de TraceParts, le module de liaison requiert une licence (payante) pour fonctionner.
Sans elle, ce module sera inaccessible.
Présentation
Structure
Comment ?
Exemples d'utilisation
Requêtes dépendantes de la langue
Problèmes et solutions
Présentation
Le module de liaison de base de données externes fournit aux utilisateurs un moyen d’insérer leur propres informations dans les informations de nomenclature des composants générés par TraceParts.
Structure
Pour fonctionner, le module de liaison de base de données externe requiert deux bases de données supplémentaires.
L’une est la base de données "TpCustomInfos.mdb".
L’autre est créée par l'utilisateur ou fournie par TraceParts SA selon les spécifications de l’utilisateur (service payant).
Appelons “Base externe” cette dernière base de données.
Base de données “TpCustomInfo.mdb”
- Ne contient que des requêtes.
- Les requêtes sont utilisées pour interroger la base externe et renseigner les champs ajoutés par l'utilisateur.
- Est toujours au format Microsoft Access (extension .mdb).
- Peut être éditée directement depuis l’interface de TraceParts (donc, il n’est pas nécessaire d’avoir Access pour la modifier).
Base externe
- Contient les données de l’utilisateur.
- Peut être en différents formats (Base de donnée Microsoft Access, Base d e donnée Microsoft SQL, etc..)
- Est généralement fournie par l’utilisateur (ou au moins définie par lui).
L’utilisateur doit disposer des outils nécessaires pour manipuler cette base de données. (ex: Microsoft Access pour les bases de données Microsoft Access..).
Comment ...
..ça marche?
Lorsque l’utilisateur clique le bouton “"insérer composant", TraceParts va vérifier dans la base externe si des informations correspondent au composant à insérer s’y trouvent. Pour ce faire, TraceParts utilisera les requêtes présentes dans la base de données "TPCustomInfos.mdb".
- Si des informations correspondent au composant à insérer, elles seront ajoutées aux informations de nomenclature du composant.
- Si aucune information ne correspond, TraceParts peut se comporter de 3 façons :
- TraceParts peut ne rien changer et le composant sera inséré sans traitement particulier,
- TraceParts peut afficher une erreur et stopper le processus d’insertion.
- TraceParts peut afficher une erreur mais poursuivre le processus d’insertion.
A ce jour (TraceParts v2.5.9), il n’y a pas de réglage spécifiques disponible dans TraceParts.
Le comportement de TraceParts est déterminé par les développeurs de TraceParts selon les spécifications de l’utilisateur.
Note: Le comportement par défaut de TraceParts est le 1).
..activer le module?
Ce module nécessite une licence spécifique pour fonctionner (payant).
Activation du module selon mode de protection :
- Version d’évaluation: le module est actif en permanence pendant les 15 jours que dure la période d’évaluation.
- Licence fixe monoposte: protégé par code : le module est activé par les codes d’immatriculation fournis à l’enregistrement de la licence,
- Licence fixe monoposte: protégé par clef physique (clef sur port parallèle ou port USB): le module est activé par la clef (qui est programmée pour)
- Licence flottante : un code d’autorisation spécifique au module est nécessaire, il est fourni à lors de l'enregistrement de la licence flottante. Ce code doit être saisi dans le module d’administration de NLM.
...installer les bases de données ?
L’installation de TraceParts installe systématiquement une base “TPCustomInfos” vide.
De cette façon, l’utilisateur peut éditer cette base via l’interface de TraceParts pour qu’elle puisse interroger la base externe.
La base externe peut se trouver n’importe où. Il suffit de configurer TraceParts pour que le programme sache où la trouver.
TraceParts peut fournir un programme d’installation de la base externe personnalisée (service payant).
...utiliser le module avec une base externe au format Microsoft Access?
Voici les différentes étapes à suivre pour utiliser une base externe au format Microsoft Access.
1. Créer la base externe
Logiciels requis (autre que TraceParts):
Microsoft Access 97 ou supérieur est nécessaire pour créer la base externe au format Microsoft Access.
Note: Microsoft Access n’a pas besoin d’être sur le poste où TraceParts est installé.
Structure de la base externe:
- L’utilisateur est libre de définir la structure de la base externe de son choix.
- La base externe peut comporter une ou plusieurs tables, selon les besoins.
A partir d’ici nous considèrerons que la base externe est définie et prête à l’emploi.
2. Déclarer la base externe
- Démarrer TraceParts,
- Aller dans le menu “Outils”, puis “configuration”
- Dans la liste des options de configuration, cliquer “Répertoires”,
- Dans l’encadré “Chemins de recherche“, sélectionner la catégorie “Bases de données”
- Cliquer le bouton “Ajouter”,
- Indiquer le chemin vers la base externe et cliquer sur le bouton “ok”,
- Cliquer le bouton “ok” de la fenêtre de configuration.
3. Lier TraceParts à la base de données externe
Licence supplémentaire requise:
Sauf en mode évaluation, une licence supplémentaire est nécessaire pour utiliser le module de liaison de base de données externe.
Sinon, l’icône «base de données externes” restera inactive (grisée).
Prière de nous contacter pour acquérir cette licence ( info@traceparts.com).
Procédure
Cette opération se fait en utilisant la base de données « TPCustomInfos.mdb ».
- Définir les champs personnalisés à créer,
- Puis, pour chacun des champs: définir la requête SQL servant à déterminer sa valeur,
Se reporter à l’exemple donné plus bas pour plus d’information.
Note: A chaque champ correspond une requête. Chaque requête interroge la base externe.
...l’utiliser avec un serveur SQL ?
Important:
- Seule la base externe peut être importee dans le serveur SQL.
- "TpCustomInfos.mdb " DOIT rester sous la forme d’une base de données Microsoft Access.
Pour indiquer à TraceParts qu’il doit utiliser une base externe située sur un serveur SQL, la seule chose à faire est de modifier la source de données enregistrée dans la base de données “TpCustomInfos.mdb ».
Toutes les manipulations se font depuis TraceParts : le programme Microsoft Access n’est pas nécessaire.
Voir l’exemple ci-dessous pour plus d’information.
Exemples d'utilisation
Voici deux exemples d'utilisation de TraceParts avec le module de liaison de base de données externes.
Utilisation d'une base de données externes au format Microsoft Access
Objectif
Montrer comment utiliser une base de données externe au format Microsoft Access pour insérer des champs de nomenclature personnalisés dans les composants insérés avec TraceParts.
Description
- Nous allons ajouter aux champs de nomenclature définit par défaut dans TraceParts, un champ pour le prix, et un autre pour un code interne.
- Pour illustrer l'exemple, nous utiliseront la sauterelle du fabricant "NORELEM" ci-dessous
Procédure
Création de la base de données externe
- Créer une base de données Microsoft Access nommée "data", ayant une table "code" et les champs suivants :
- Reference,
- Internal code,
- Price
- Entrer les différentes références disponibles pour cette pièces dans la table « Code »
- Ajouter des codes internes (internal_codes) et des prix (prices).
- Vous obtiendrez quelque chose comme ceci :
Note: les références internes et les prix ont été pris pour l'exemple et ne correspondent pas à la réalité.
- Démarrer TraceParts,
- Sélectionner la sauterelle « 05040 »
- Pour le moment, la nomenclature de la pièce ne montre que les champs définis par défaut pour cette pièce,
Déclaration du chemin menant à la base externe
- Démarrer TraceParts,
- Aller dans le menu “Outils/configuration/répertoires”
- Sélectionner “Bases de données” comme catégorie du chemin de recherche,
- Cliquer le bouton « Ajouter” et entrer le chemin où se trouve la base externe.
- Cliquer le bouton “ok” pour fermer la boîte de dialogue « chemins de recherche »
- Cliquer le bouton “ok” pour fermer la boîte de dialogue « Configuration »,
- TraceParts sait maintenant où chercher la base externe.
Définition des champs et création des requêtes
- Cliquer l’icône « Base de données externes »
Note: Il est possible d'utiliser le menu Outils/personnalisation/Liaison avec données externe
- La fenêtre "Liaison de données externes" s'ouvrira alors. (Elle sera vide la 1ere fois, c’est dans cette fenêtre que les requêtes à utiliser s’afficheront)
- Cliquer le bouton “Ajouter », la fenêtre "Liaison de données externe: champs de nomenclature" s'ouvrira
- Entrer un nom dans "champ" qui servira à nommer le nouveau champ,
- Entrer un autre nom dans "Nom" qui servira pour l’affichage
- Sélectionner “Requête” comme moyen d’obtenir la valeur du champ,
- Pour pouvoir déterminer la valeur du champ créer, il faut lui associer une requête SQL qui ira chercher les informations correspondantes dans la base externe. Pour cela, cliquer le bouton « Sélectionner » pour choisir la requête qui permettra de déterminer la valeur du champ. La fenêtre "Liaison de données externes: Requêtes" s’ouvrira.
Si aucune requête n’est définie, elle sera vide et il faudra créer une requête.
- Cliquer le bouton "Ajouter" pour créer une nouvelle requête
- Comme il n'existe pas de source de données de définie, avant de pouvoir aller plus loin, il faut déclarer une source de données dans la fenêtre "Liaison de données externes: bases de données" qui s'ouvre automatiquement
- Parce qu'il n'existe pas de source de données de définie, la fenêtre est vide
- Cliquer le bouton "Ajouter"
- Dans la fenêtre qui s'ouvrira, sélectionner "Microsoft JET 4.0 OLE DB Driver" comme type de fournisseur.
- Après avoir cliqué "Suivant", saisir le nom et le chemin de la base externe. Inutile de modifier le reste des options.
- A l'issue, la fenêtre "Liaison de données externes: Bases de données" devrait ressembler ceci :
Note: Chaque base de données figurant dans la fenêtre doit être précédée d'une coche verte. Si elle est rouge, cela signifie que la connexion avec la base de données ne se fait pas
- Sélectionner la base de données "data" et cliquer le bouton "sélectionner"
- La boîte "Liaison de données externes: Requête" s'ouvrira alors, permettant de définir la requête:
- A gauche se trouvent les éléments utilisables pour construire la requête,
- A droite est affichée la requête
- La requête peut être définie, soit en utilisant les éléments situés à gauche, soit en la saisissant manuellement à droite
- Construction de la requête pour le champ "Internal_code"
- A droite, cliquer sous "SELECT DISTINCT"
- A gauche, cliquer le champ "Internal_code", puis cliquer "Ajouter", ce qui ajoutera le texte [Internal_code.code] sous "SELECT DISTINCT". C'est la valeur de ce champ sera retournée par la requête.
- A droite, cliquer sous "FROM"
- A gauche, sélectionner "Tables de la base de données" dans la liste déroulante, puis sélectionner "code", et cliquer "Ajouter". Ceci indiquera à la requête qu'elle doit chercher la valeur du champ dans la table "code"
- A droite, cliquer sous "WHERE"
- A gauche, sélectionner "Champs de la table" dans la liste déroulante du haut
- Sélectionner "code" dans la seconde liste déroulante qui apparaîtra.
- Cliquer sur le champ "Reference"
- Cliquer sur "Ajouter"
- A droite, après [Reference.code], taper "=" (sans guillemet)
- Sélectionner maintenant "Paramètres du composant sélectionné"
- Cliquer sur "Reference" et cliquer le bouton "Ajouter"
- "%REFERENCE%" sera ajouté à la requête SQL. Le fait que le nom du paramètre soit encadré par des pourcentages indique que c'est sa valeur qui sera utilisée et pas son nom
- La requête est maintenant complètement définie
- Il est possible d'en tester le fonctionnent en cliquant le bouton "tester"
Notes:
- La requête peut fonctionner et retourner une valeur nulle ou vide suivant les données présentes dans la base externe.
- Un résultat comme celui ci-dessous ne signifie pas que la requête a échouée, mais qu'il n'y a pas d'information correspondante pour l'instance du composant sélectionné.
- Si la requête ne fonctionne pas, un message d'erreur sera affiché.
- Cliquer autant de fois que nécessaire sur les boutons "ok" pour retourner sur la fenêtre "Liaison de données externes: Champs de nomenclature (code interne). Elle devrait ressembler à ceci :
- Cliquer une nouvelle fois sur "ok", la fenêtre contenant toutes les requêtes s'affichera. La requête qui vient d'être définie y figurera.
Note: Une coche verte doit précéder la requête. Si non, c'est qu'il y a un problème dans sa définition, ou dans l'accès à la source de données qu'elle utilise.
- En procédant comme pour le champ "Code interne", définir le champ "Prix".
- La requête pour le champ "Prix" sera alors :
- La liste des requêtes deviendra :
- Finalement, les informations de nomenclatures comporteront deux champs de plus: les champs personnalisés "Internal_code" et "Price":
Notes:
- Les champs provenant de la base externe ne sont pas précédés par la même icône que ceux définit par défaut dans TraceParts
- Si un champ provenant de la base externe ne retourne pas de valeur, il n'apparaîtra PAS dans les informations de nomenclature.
Utilisation d'une base de données externe sur SQL Server
Préalable
- Créer une base de données sur le serveur SQL. Le nom est au choix de l'utilisateur.
- Veiller à ce que cette base soit en compatibilité "Compatibility Level 70"
Note: Si la base externe a été importée sur le serveur SQL, vérifier que les index qu'elle contiendrait éventuellement soient toujours existants.
Procédure
La procédure est identique à celle expliquée dans le cas d'une base de données externes au format SQL, sauf en ce qui concerne la source de données.
Dans le cas d'une base de données située sur un serveur SQL, le type de source de données à utiliser à l'étape 12 (voir plus haut), est " Microsoft OLE DB provider for SQL Server".
Pour reprendre l'exemple précédent, si nous avions voulu utiliser une base de données située sur un serveur SQL, nous aurions pu :
- Importer la base de données "data.mdb" dans le serveur SQL, ou la créer directement depuis le gestionnaire de serveur SQL
- Définir la source de données comme étant Microsoft OLE DB provider for SQL Server",
- Donner le nom du serveur (par exemple "SERVEUR")
- Donner les informations de connexion au serveur (dans notre cas, on laisse Windows s'occuper de tout)
- Donner (ou sélectionner) le nom de la base de données à utiliser (par exemple "data")
- Vérifier que la connexion entre TraceParts et la base externe se fait bien, en cliquant le bouton "tester la connexion"
- Le résultat du test devrait être positif, comme le message ci dessous l'indique
- Si le résultat est un échec, revoir les informations saisies pour la connexion, vérifier que vous avez accés au serveur SQL
- Finalement, à part la source de données, tout est identique à ce qui a été vu pour l'utilisation d'une base de données au format Microsoft Access
Requêtes dépendantes de la langue
Le processus de création d'une requête dépedante de la langue est sensiblement le même que celui d'une requête indépdendante de la langue.
La différence est qu'il faut utiliser un paramètre spécifique : %_lang_%
IMPORTANT:
Le paramètre %_lang_% DOIT être écrit avec un "l" minuscule.
Lorsque le module de liaison de base de données externes rencontrera le paramètre %_lang_% parameter, il le remplacera par le symbole de la langue active dans TraceParts.
Dans les exemples précédents, si le code avait été dépendant de la langue, la requête aurait utilisé la syntaxe “code_%_lang_%”.
Ainsi, TraceParts aurait utilisé :
- “code_FR” si la langue active dans TraceParts était le Français,
- “code_EN” si la langue active dans TraceParts était l'Anglais,
- ..et ainsi de suite. %_lang_% sera remplacé par le symbole de la langue où qu'il soit dans la requête.
Donc, pour le champ "code", la requête dépendante de la langue serait :
SELECT DISTINCT
[code_%_lang_%].[code]
FROM
[code_%_lang_%]
WHERE
[code_%_lang_%].[REFERENCE]=%REFERENCE%
;
Problèmes et solutions
Voici quelques problèmes pouvant se produire et leurs solutions.
Le module de liaison de base de données externes est désactivé
Il y a un problème au niveau de la protection: la licence requise pour active le module n'est pas disponible.
- Version d'évaluation: Ce cas de figure est impossible durant la période d'évaluation. Pendant la période d'évaluation, la licence pour le module de liaison de données externes est toujours active.
- Protection par code: Il faut demander un nouveau code pour activer le module de liaison de base de données externes
- Protection par clef (// ou USB): La clef a besoin d'être reprogrammée. Ceci peut être fait par code.
- Protection par licence flottante: Si le serveur NLM est installé et configuré, que le client NLM est installé, cela signifie qu'il manque le code d'activation de la licence du module de liaison de base de données externes, il faut en demander un.
Note: Dans le cas de la licence du module de liaison de données externes, un seul jeton est suffisant, même pour plusieurs postes. En effet, le jeton de ce type de licence n'est jamais décompté.
La connexion au serveur SQL se fait correctement, mais TraceParts ne peut pas accéder à la base de données
Il y a un problème au niveau des informations fournies pour la connexion au serveur SQL. Dans la fenêtre "Propriété des liaisons de données", onglet "Connexion", point 2) "informations de connexions",
- sélectionner de préférence "Use Windows NT integrated security"
Ou,
- Sélectionner "Utiliser un nom d'utilisateur et un mot de passe spécifique, mais NE PAS OUBLIER DE COCHER LA CASE "Autoriser l'enregistrement du mot de passe"
l'erreur "Incorrect syntax near the keyword 'Function" est affichée
Cela signifie que la base de données n'est pas en mode de compatibilité "Compatibility Level 70".
Pour corriger ce réglage :
- Ouvrir l'Entreprise Manager sur le serveur SQL
- Sélectionner la base de données correspondant à la base externe,
- Faire un clic droit sur son nom, et sélectionner "propriétés",
- Cliquer sur l'ongler “options”,
- Dans la liste déroulante “Level”, sélectionner “Database compatibility level 70”.
Les requêtes sont correctes et fonctionnent, mais les champs personnalisés n'apparaissent pas dans la nomenclature
Vérifier que la case "Transférer les informations à la CAO" est bien cochée.
Ou,
Vérifier que les résultats des requêtes correspondantes aux champs manquants, ne donnent pas un résultat "null" ou vide.
Les requêtes dépendantes des langues ne fonctionnent pas correctement
Vérifier que le paramètre %_lang_% n'est pas écrit avec un "L" majuscule:
- %_lang_% : Correct
- %_Lang_% : Incorrect.
[ Revenir au sommet de la page ]
|