ThingWorx Erweiterbarkeit > Erweiterungen > JDBC-Konnektor-Erweiterung
JDBC-Konnektor-Erweiterung
Die ThingWorx JDBC Extension bietet eine schnelle und einfache Lösung, um es ThingWorx Administratoren zu ermöglichen, standardmäßige JDBC-Treiber bereitzustellen, die zur Unterstützung von Drittanbieter-Datenbanken für die Verwendung mit einem ThingWorx Datenbank-Ding erforderlich sind. Datenbank-Dinge ermöglichen es ThingWorx Lösungsentwicklern und Architekten, die von einer Datenbank bereitgestellten Funktionen innerhalb einer unter ThingWorx bereitgestellten Lösung zu integrieren und zu nutzen.
Support-Richtlinie
Um die ThingWorx JDBC Extension zu verwenden, müssen Administratoren den entsprechenden JDBC-Treiber für die gewünschte Datenbank angeben. Obwohl PTC alle geeigneten Maßnahmen getroffen hat, um die allgemeine Funktionalität und Sicherheit der JDBC-Konnektor-Erweiterung sicherzustellen, kann PTC nicht verifizieren, ob ThingWorx mit einem bestimmten JDBC-Treiber kompatibel ist, und auch keine technischen Support-Anfragen zu diesen Treibern oder nicht unterstützten Datenbanken verarbeiten.
Darüber hinaus stellt PTC keine JDBC-Treiber von Drittanbietern, die für die Verwendung der Erweiterung für nicht unterstützte Persistenzanbieter erforderlich sind, zur Verfügung und kann auch deren Funktionalität oder Sicherheit nicht bestätigen. PTC empfiehlt dringend, die Sicherheitsempfehlungen Erweiterungen vor der Verwendung von Drittanbieter-Treibern mit der JDBC Extension zu überprüfen.
Schließlich sind diese oben genannten JDBC-Treiber nur für die Verwendung mit ThingWorx Datenbank-Dingen bestimmt.
Übersicht
Wenn eine JDBC Extension nicht in ThingWorx für Ihre Datenbank vorhanden ist, können Sie den JDBC-Treiber manuell hinzufügen, indem Sie den bzw. die Treiber herunterladen und die Dateien zum folgenden Speicherort hinzufügen: /Tomcat folder/webapps/Thingworx/WEB-INF/lib
Nach dem Kopieren des Treibers bzw. der Treiber müssen Sie ThingWorx neu starten (oder Tomcat, wenn dies einfacher ist).
Wenn Sie den JDBC-Treiber nicht manuell in Tomcat laden möchten und Tomcat neu starten müssen, können Sie eine Datenbankerweiterung erstellen, die den JDBC-Treiber enthält, und diese Erweiterung importieren. Der Vorteil dieses Ansatzes besteht darin, dass Sie den Treiber nicht manuell laden müssen, die Klasse für Sie geladen wird und er bei Upgrades sicher ist. So müssen Sie den Treiber nicht erneut bereitstellen, wenn Sie die ThingWorx Webanwendung aktualisieren. Weitere Informationen zum Erstellen einer Datenbankerweiterung erhalten Sie in den Schritten unten.
JDBC-Erweiterung für ThingWorx erstellen
1. Rufen Sie die JDBC Extension von support.ptc.com ab.
* 
Das Unterstützungsmodell für ThingWorx Erweiterungen hat sich kürzlich geändert. Die meisten Erweiterungen sind auf der Downloads-Seite nicht mehr verfügbar. Weitere Informationen finden Sie in diesem Artikel.
2. Sehen Sie sich die Beispiel-Metadatendatei an:
<Entities>
<ExtensionPackages>
<!-- The name attribute of the ExtensionPackage element correlates to the name of the zip
archive for the extension -->
<ExtensionPackage name="DatabaseXYZ_ExtensionPackage" description="DatabaseXYZ JDBC Extension" vendor="Acme Corporation" packageVersion="1.0" minimumThingWorxVersion="5.0.0">
<JarResources>
<!-- The JDBC JAR file being used to connect to DatabaseXYZ -->
<FileResource type="JAR" file="databaseXYZ.jdbc.jar" description="DatabaseXYZ JDBC JAR"/>
</JarResources>
</ExtensionPackage>
</ExtensionPackages>
<ThingTemplates>
<!-- A Database ThingTemplate for the DatabaseXYZ extension -->
<ThingTemplate name="DatabaseXYZ" baseThingTemplate="Database" description="DatabaseXYZ ThingTemplate"/>
</ThingTemplates>
</Entities>
3. Laden Sie den entsprechenden JDBC-Treiber herunter.
4. Erstellen Sie die Erweiterungsstruktur, indem Sie das Verzeichnis lib/common erstellen.
5. Platzieren Sie die JAR-Datei im folgenden Verzeichnis: lib/common<JAR-Datei des JDBC-Treibers>.
6. Ändern Sie das Attribut Name der Entität ExtensionPackage in der Datei metadata.xml nach Bedarf.
7. Zeigen Sie mit dem Attribut "Datei" der Entität FileResource auf den Namen der JDBC-JAR-Datei.
8. Die Metadaten enthalten auch eine Dingvorlage. Der Name wird auf MySqlServer festgelegt, kann aber nach Bedarf geändert werden.
9. Wählen Sie den Ordner lib und die Datei metadata.xml aus, und senden Sie sie an ein ZIP-Archiv.
* 
Der Name des ZIP-Archivs sollte dem Namen im Namensattribut der Entität ExtensionPackage in der Datei metadata.xml entsprechen.
10. Importieren Sie die neu erstellte Erweiterung.
11. Um die JDBC Extension zu verwenden, erstellen Sie ein neues Ding, und weisen Sie die neue Dingvorlage zu, die mit der JDBC-Erweiterung importiert wurde.
Feldname
Beschreibung
JDBC-Treiberklassenname
Hängt vom Treiber ab, der verwendet wird.
JDBC-Verbindungszeichenfolge
Definiert die Informationen, die erforderlich sind, um eine Verbindung mit der Datenbank herzustellen. Die Formatierung der Verbindungszeichenfolge finden Sie unter connectionstrings.com.
ConnectionValidationString
Einfache Abfrage, die Rückgabewerte von der Datenbank verifiziert (unabhängig von auszuführenden Tabellennamen).
Datenbankabfragen und -befehle
Wenn die Konfiguration eingerichtet ist, können Sie SQLQueries und SQLCommands in Diensten für die Datenbank erstellen, mit der Sie eine Verbindung hergestellt haben.
Variablen übergeben
Verwenden Sie bei der Erstellung der Abfrage [[Parametername]] für Parameter-/Variablensubstitution und <<Zeichenfolgensubstitution>> für Zeichenfolgensubstitution.
Beispiel
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
* 
Es ist extrem gefährlich, die Zeichenfolgensubstitution << ... >> zu verwenden, da das Risiko von SQL-Injection besteht. Wir empfehlen, mit Bedacht vorzugehen, wenn Sie diese Methode der Parameterübergabe in Betracht ziehen. Um jedoch einen sehr dynamischen Satz von Abfragen zu erstellen, müssen Sie die Tabellennamen als << Name der Tabelle >> weitergeben. Wenn Sie die IN-Klausel verwenden müssen, muss Ihre Sammlung ferner mit << Element1, Element2, Element3,>> übergeben werden.
War dies hilfreich?