Extensibilité de ThingWorx > Extensions > Extension de connecteur JDBC
Extension de connecteur JDBC
ThingWorx JDBC Extension permet aux administrateurs ThingWorx de déployer facilement et rapidement les pilotes JDBC standard requis pour prendre en charge des bases de données tierces à utiliser avec un objet de base de données ThingWorx. Les objets de base de données permettent aux développeurs et architectes de solutions ThingWorx d'intégrer et de tirer parti des fonctionnalités fournies par une base de données au sein d'une solution déployée sur ThingWorx.
Politique de prise en charge
Pour utiliser ThingWorx JDBC Extension, les administrateurs doivent fournir le pilote JDBC approprié pour la base de données souhaitée. Bien que PTC ait pris toutes les mesures appropriées pour garantir la fonctionnalité et la sécurité générales de l'extension de connecteur JDBC, PTC ne peut pas confirmer la compatibilité de ThingWorx avec un pilote JDBC spécifique, ni traiter les demandes de support technique associées à ces pilotes ou aux bases de données non prises en charge.
En outre, PTC ne fournit pas et ne peut pas confirmer la fonctionnalité ou la sécurité des pilotes JDBC tiers nécessaires à l'utilisation de l'extension pour les fournisseurs de persistance non pris en charge. PTC recommande vivement de consulter les recommandations en matière de sécurité des extensions avant d'utiliser des pilotes tiers avec l'extension JDBC.
Enfin, les pilotes JDBC susmentionnés ne sont utilisables qu'avec des objets de base de données ThingWorx.
Vue d'ensemble
Si aucune extension JDBC n'existe dans ThingWorx pour votre base de données, vous pouvez ajouter manuellement le pilote JDBC, en téléchargeant les fichiers requis et en les ajoutant à l'emplacement suivant : /Tomcat folder/webapps/Thingworx/WEB-INF/lib.
Une fois que vous avez copié le ou les pilotes, vous devez redémarrer ThingWorx.
Pour éviter un redémarrage de Tomcat, vous pouvez générer et importer une extension de base de données contenant le pilote JDBC. L'avantage de cette approche réside dans le fait que vous n'avez pas à charger manuellement le pilote. Le chargement de la classe est géré pour vous et les mises à niveau sont sûres. Vous n'avez donc pas besoin de redéployer le pilote lorsque vous mettez à jour l'application Web ThingWorx. Pour créer une extension de base de données, procédez comme indiqué ci-après.
Création d'une extension JDBC pour ThingWorx
Pour générer une extension JDBC, procédez comme suit :
1. Procurez-vous l'extension de connecteur JDBC ThingWorx depuis support.ptc.com.
* 
Le modèle de prise en charge des extensions ThingWorx a été récemment modifié. La plupart des extensions ne sont plus disponibles sur la page des téléchargements. Pour plus d'informations, consultez cet article.
2. Téléchargez le fichier JAR du pilote JDBC pour votre base de données relationnelle spécifique, telle que Microsoft SQL Server ou MySQL, à partir du site Web officiel correspondant.
3. Accédez à ThingWorx Composer.
4. Importez l'extension de connecteur JDBC que vous avez téléchargée à l'étape 1.
5. Ouvrez l'application composite JdbcCreator, puis cliquez sur Afficher l'application composite.
6. Cliquez sur Choisir un fichier.
7. Sélectionnez le fichier de pilote JDBC téléchargé à l'étape 2.
8. Cliquez sur Charger.
9. Cliquez sur Download Extension File pour télécharger l'extension.
10. Importez le fichier ZIP téléchargé à l'étape 9 dans ThingWorx Composer.
11. A l'issue de l'importation, un modèle d'objet nommé <JAR file name>Template doit s'afficher.
12. Créez un nouvel objet à l'aide du modèle d'objet généré.
13. Configurez les paramètres JDBC pour vous connecter à votre base de données relationnelle.
Nom du champ
Description
Nom de classe de pilote JDBC
Dépend du pilote utilisé.
Chaîne de connexion JDBC
Définit les informations requises pour établir une connexion avec la base de données. Le format de la chaîne de connexion peut être consulté sur le site Web connectionstrings.com.
ConnectionValidationString
Requête simple qui vérifie les valeurs renvoyées par la base de données (sans tenir compte des noms de table à exécuter).
Requêtes et commandes sur la base de données
Une fois la configuration effectuée, vous pouvez créer dans les services des requêtes SQLQueries et des commandes SQLCommands à exécuter sur la base de données à laquelle vous êtes connecté.
Transmission de variables
Lorsque vous créez votre requête, utilisez [[Nom du paramètre]] pour le remplacement de paramètres/variables et <<remplacement de chaîne>> pour le remplacement de chaînes.
Exemple
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
* 
Il est très dangereux d'utiliser le remplacement de chaînes << ... >>, car cela vous expose à un risque d'injection de code SQL. Soyez prudent si vous envisagez d'utiliser cette méthode pour la transmission de paramètres. Cependant, pour créer un jeu de requêtes très dynamique, vous devez transmettre les noms de table comme suit : << Nom de la table >>. Par ailleurs, si vous devez utiliser la clause IN, vous devrez transmettre votre collection avec << Elément1, Elément2, Elément3,>>.
Est-ce que cela a été utile ?