Расширяемость ThingWorx > Расширения > Расширение соединителя JDBC
Расширение соединителя JDBC
Расширение ThingWorx JDBC предоставляет быстрое и простое решение, позволяющее администраторам ThingWorx развертывать стандартные драйверы JDBC, необходимые для поддержки сторонних баз данных, чтобы использовать их с вещью базы данных ThingWorx. Вещи базы данных позволяют разработчикам и архитекторам решений ThingWorx внедрять и использовать преимущества функциональности, предоставляемые базой данных в решении, развернутом в ThingWorx.
Политика поддержки
Чтобы использовать расширение ThingWorx JDBC, администраторы должны предоставить соответствующий драйвер JDBC для требуемой базы данных. Несмотря на то что компания PTC предприняла все необходимые меры, чтобы обеспечить общую функциональность и безопасность расширения соединителя JDBC, PTC не может подтвердить совместимость ThingWorx с любым конкретным драйвером JDBC; PTC также не будет обрабатывать запросы на техническую поддержку, связанные с такими драйверами или неподдерживаемыми базами данных.
Кроме того, PTC не предоставляет и не может подтвердить функциональность или безопасность сторонних драйверов JDBC, необходимых для использования расширения для неподдерживаемых поставщиков хранилища данных. PTC настоятельно рекомендует ознакомиться с рекомендациями по обеспечению безопасности расширений, прежде чем использовать сторонние драйверы с расширением JDBC.
Наконец, упомянутые выше драйверы JDBC предназначены только для использования с базы данных ThingWorx.
Обзор
Если расширение JDBC для базы данных не существует в ThingWorx, можно вручную добавить драйвер JDBC, загрузив и добавив файлы в следующее расположение: /Tomcat folder/webapps/Thingworx/WEB-INF/lib.
После копирования драйверов необходимо перезапустить ThingWorx (или Tomcat, если это проще).
Чтобы не загружать драйвер JDBC в Tomcat вручную с последующим перезапуском Tomcat, можно построить расширение базы данных, включающее драйвер JDBC, а затем импортировать это расширение. Преимущество этого подхода состоит в том, что не требуется вручную загружать драйвер и выполняется загрузка класса с безопасным обновлением, поэтому не нужно повторно развертывать драйвер при обновлении веб-приложения ThingWorx. Дополнительные сведения о создании расширения базы данных см. в следующих шагах.
Создание расширения JDBC для ThingWorx
1. Получите расширение JDBC с сайта support.ptc.com.
* 
Модель поддержки расширений ThingWorx недавно изменилась. Большинство расширений больше не будет доступно на странице загрузки. Дополнительные сведения см. в этой статье.
2. См. пример файла метаданных:
<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. Загрузите надлежащий драйвер JDBC.
4. Постройте структуру расширения, создав каталог lib/common.
5. Поместите JAR-файл в следующий каталог: lib/common/<jar-файл драйвера JDBC>.
6. При необходимости измените атрибут name сущности ExtensionPackage в файле metadata.xml.
7. Укажите в атрибуте файла сущности FileResource имя JAR-файла JDBC.
8. Метаданные также содержат шаблон вещи. Задано имя MySqlServer, но его при необходимости можно изменить.
9. Выберите папку lib и файл metadata.xml и отправьте их в zip-архив.
* 
Имя zip-архива должно соответствовать имени, указанному в атрибуте наименования сущности ExtensionPackage в файле metadata.xml.
10. Импортируйте созданное расширение.
11. Чтобы использовать расширение JDBC, создайте новую вещь и назначьте новый шаблон вещи, который был импортирован с помощью расширения JDBC.
Имя поля
Описание
Наименование класса драйверов JDBC
Зависит от используемого драйвера.
Строка соединения JDBC
Определяет информацию, необходимую для подключения к базе данных. Форматирование строки соединения можно найти в файле connectionstrings.com.
ConnectionValidationString
Простой запрос, который проверяет возвращаемые из базы данных значения (независимо от наименований выполняемых таблиц).
Запросы и команды для базы данных
После настройки конфигурации можно создавать в сервисах запросы SQL и команды SQL для взаимодействия с подключенной базой данных.
Передача переменных
При построении запроса используйте [[Наименование параметра]] для подстановки параметров/переменных и <<замена строки>> для подстановки строк.
Пример
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
* 
Чрезвычайно опасно использовать подстановку строки << ... >> из-за угрозы внедрения SQL-кода. Рекомендуется осмотрительно подходить к возможности использования этого метода передачи параметров. Однако, чтобы создать динамический набор запросов, необходимо передать имена таблиц в виде << Имя таблицы >>. Кроме того, если необходимо использовать предложение IN, требуется передавать набор в виде << Элемент1, Элемент2, Элемент3,>>.
Было ли это полезно?