JDBC Extension
ThingWorx JDBC Extension offre una soluzione semplice e veloce per consentire agli amministratori ThingWorx di distribuire driver JDBC standard necessari per supportare i database di terze parti da utilizzare con un oggetto del database ThingWorx. Gli oggetti del database consentono agli sviluppatori e agli architetti di soluzioni ThingWorx di incorporare e sfruttare le funzionalità disponibili in un database all'interno di una soluzione distribuita in ThingWorx.
Criteri di supporto
Per utilizzare ThingWorx JDBC Extension, gli amministratori devono fornire il driver JDBC appropriato per il database desiderato. Sebbene PTC abbia adottato tutte le misure necessarie per garantire la funzionalità e la sicurezza generali dell'estensione del connettore JDBC, PTC non può verificare che ThingWorx sia compatibile con qualsiasi driver JDBC specifico, né elaborare richieste di supporto tecnico correlate a tali driver o a database non supportati.
Inoltre, PTC non fornisce e non è in grado di confermare la funzionalità o la protezione dei driver JDBC di terze parti necessari per utilizzare l'estensione per i provider di persistenza non supportati. PTC consiglia di esaminare i consigli di protezione dell'estensione prima di utilizzare i driver di terze parti con JDBC Extension.
Infine, i driver JDBC sopra menzionati sono utilizzabili solo con gli oggetti del database ThingWorx.
Panoramica
Se JDBC Extension non esiste in ThingWorx per il database in uso, è possibile aggiungere manualmente il driver JDBC, scaricando il driver e aggiungendo i file nella seguente posizione: /Tomcat folder/webapps/Thingworx/WEB- INF/lib
Dopo la copia del/dei driver, è necessario riavviare ThingWorx o, se più semplice, Tomcat.
Se non si desidera caricare manualmente il driver JDBC su Tomcat e dover riavviare Tomcat, è possibile creare un'estensione del database che include il driver JDBC e importare tale estensione. Il vantaggio di questo approccio è che non è necessario caricare manualmente il driver, il caricamento della classe viene gestito per l'utente e l'aggiornamento viene eseguito in modo sicuro; pertanto, non è necessario ridistribuire il driver quando si aggiorna l'applicazione Web di ThingWorx. Per ulteriori informazioni sulla creazione di un'estensione del database, attenersi alla procedura descritta di seguito.
Creazione di un'estensione JDBC per ThingWorx
1. Ottenere JDBC Extension dal sito support.ptc.com.
2. Fare riferimento al file di metadati di esempio:
<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. Scaricare il driver JDBC appropriato.
4. Sviluppare la struttura dell'estensione creando la directory lib/common.
5. Posizionare il file JAR nel percorso di directory seguente: lib/common/<file JAR del driver JDBC>.
6. Modificare l'attributo nome dell'entità ExtensionPackage nel file metadata.xml in base alle necessità.
7. Indirizzare l'attributo del file dell'entità FileResource al nome del file JAR JDBC.
8. I metadati contengono inoltre un modello di oggetto. Il nome è impostato su MySqlServer, ma può essere modificato in base alle necessità.
9. Selezionare la cartella lib e il file metadata.xml e inviarli a un archivio ZIP.
* 
Il nome dell'archivio zip deve corrispondere al nome assegnato nell'attributo del nome dell'entità ExtensionPackage nel file metadata.xml.
10. Importare la nuova estensione creata.
11. Per utilizzare JDBC Extension, creare un nuovo oggetto e assegnarvi il nuovo modello di oggetto importato con JDBC Extension.
Nome campo
Descrizione
Nome classe driver JDBC
Dipende dal driver utilizzato.
Stringa di connessione JDBC
Definisce le informazioni necessarie per stabilire una connessione con il database. La formattazione della stringa di connessione è disponibile nel sito connectionstrings.com.
ConnectionValidationString
Un'interrogazione semplice che verifica i valori restituiti dal database, indipendentemente dai nomi di tabella da eseguire.
Interrogazioni e comandi per il database
Una volta impostata la configurazione, in Servizi è possibile creare SQLQueries e SQLCommands da applicare al database a cui si è connessi.
Trasferimento di variabili
Durante la creazione dell'interrogazione, utilizzare [[Nome del parametro]] per la sostituzione di parametri/variabili e <<string replacement>> per la sostituzione delle stringhe.
Esempio
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
* 
È estremamente pericoloso utilizzare la sostituzione delle stringhe << ... >>, poiché ciò espone al rischio di inserimento di codice SQL dannoso. Si consiglia di prestare attenzione nel prendere in considerazione questo metodo di trasferimento dei parametri. Tuttavia, per creare un insieme molto dinamico di interrogazioni, è necessario passare i nomi di tabella come << Nome della tabella >>. Inoltre, se è necessario utilizzare la clausola IN, la raccolta deve essere trasferita con << Elemento1, Elemento2, Elemento3,>>