JDBC コネクタ拡張機能
ThingWorx JDBC 拡張機能は、ThingWorx データベース Thing に使用するサードパーティのデータベースをサポートするために必要な標準の JDBC ドライバーを ThingWorx 管理者が速やかかつ簡単にデプロイできるようにするためのソリューションを提供します。データベース Thing により、ThingWorx ソリューション開発者とアーキテクトは、ThingWorx 上にデプロイされたソリューション内でデータベースによって提供される機能を組み込んで利用できるようになります。
サポートポリシー
ThingWorx JDBC 拡張機能を使用するには、管理者は目的のデータベースに適した JDBC ドライバーを提供する必要があります。PTC は JDBC コネクタ拡張機能の一般的な機能とセキュリティを確保するために適切なすべての措置を講じていますが、PTC は ThingWorx が個々の JDBC ドライバーと互換性があるかどうかを確認することはできません。また、PTC はそのようなドライバーやサポートされていないデータベースに関連するテクニカルサポートリクエストを処理しません。
さらに、PTC はサポートされていない永続化プロバイダでこの拡張機能を使用するために必要なサードパーティ JDBC ドライバーの機能やセキュリティを提供せず、これらを確認することはできません。JDBC 拡張機能でサードパーティのドライバーを使用する前に、
拡張機能のセキュリティに関する推奨事項を確認することを強くお勧めします。
最後に、先に述べたこれらの JDBC ドライバーは ThingWorx データベース Thing 専用です。
概要
データベースに対応する JDBC 拡張機能が ThingWorx に存在しない場合、ドライバーをダウンロードし、以下の場所 /Tomcat folder/webapps/Thingworx/WEB-INF/lib にファイルを追加することで、JDBC ドライバーを手動で追加できます。
ドライバーをコピーした後、ThingWorx を再起動する必要があります。
Tomcat の再起動を回避するには、JDBC ドライバーが含まれているデータベース拡張機能を構築してインポートします。この方法の利点は、ドライバーを手動で読み込む必要がないことです。クラスのロードが自動的に行われ、確実にアップグレードできます。したがって、ThingWorx Web アプリケーションを更新するときにドライバーを再デプロイする必要はありません。データベース拡張機能の作成の詳細については、次の手順に従います。
ThingWorx 向けの JDBC 拡張機能の作成
JDBC 拡張機能を生成するには、次の操作を行います。
|
|
ThingWorx 拡張機能のサポートモデルが最近変更されました。ほとんどの拡張機能はダウンロードページに表示されなくなりました。詳細については、 このアーティクルを参照してください。
|
2. Microsoft SQL Server や MySQL などの特定のリレーショナルデータベース用の JDBC ドライバー JAR ファイルを、対応する公式 Web サイトからダウンロードします。
3. ThingWorx Composer に移動します。
4. 手順 1 でダウンロードした JDBC コネクタ拡張機能をインポートします。
5. 「JdbcCreator」マッシュアップを開き、「マッシュアップを表示」をクリックします。
6. 「ファイルを選択」をクリックします。
7. 手順 2 でダウンロードした JDBC ドライバーファイルを選択します。
8. 「アップロード」をクリックします。
9. 「Download Extension File」をクリックして、拡張機能をダウンロードします。
10. 手順 9 でダウンロードした ZIP ファイルを ThingWorx Composer にインポートします。
11. インポート後、<JAR file name>Template という名前の Thing Template が表示されます。
12. 生成された Thing Template を使用して新規 Thing を作成します。
13. リレーショナルデータベースに接続するために JDBC を設定します。
|
フィールド名
|
説明
|
|
JDBC ドライバーのクラス名
|
使用するドライバーによって異なります。
|
|
JDBC 接続文字列
|
|
|
ConnectionValidationString
|
(実行するテーブル名に関係なく) データベースからの戻り値を検証するシンプルなクエリー。
|
データベースに対するクエリーやコマンド
コンフィギュレーションが設定済みである場合、「サービス」で SQL クエリーや SQL コマンドを作成し、接続先のデータベースで有効にできます。
変数の受け渡し
クエリーを作成するときには、[[パラメータ名]] を使用してパラメータ/変数を置き換え、<<文字列置換>> を使用して文字列を置き換えます。
例
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
|
|
<< ... >> 文字列置換を使用すると、SQL インジェクションのリスクが生じ、非常に危険です。このパラメータ受け渡し方法を検討するときは注意することをお勧めします。ただし、非常に動的なクエリーのセットを作成するには、テーブル名を << テーブル名 >> として渡す必要があります。また、IN 句を使用しなければならない場合は、<< アイテム 1, アイテム 2, アイテム 3,>> という形式でコレクションを渡す必要があります。
|