JDBC 커넥터 확장
ThingWorx JDBC 확장 프로그램은 ThingWorx 관리자가 ThingWorx 데이터베이스 사물에 사용할 타사 데이터베이스를 지원하는 데 필요한 표준 JDBC 드라이버를 배포할 수 있는 빠르고 쉬운 솔루션을 제공합니다. 데이터베이스 사물을 통해 ThingWorx 솔루션 개발자와 설계자는 ThingWorx에 배포된 솔루션 내의 데이터베이스에서 제공하는 기능을 통합하고 활용할 수 있습니다.
지원 정책
ThingWorx JDBC 확장 프로그램을 사용하려면 관리자가 원하는 데이터베이스에 적합한 JDBC 드라이버를 제공해야 합니다. PTC는 JDBC 커넥터 확장의 일반 기능과 보안을 보장하기 위한 적절한 조치를 모두 취했지만, ThingWorx가 특정 JDBC 드라이버와 호환되는지 확인할 수 없으며 이러한 드라이버 또는 지원되지 않는 데이터베이스와 관련된 기술 지원 요청을 처리하지도 않습니다.
또한 PTC는 지원되지 않는 지속성 공급자용 확장을 사용하는 데 필요한 타사 JDBC 드라이버의 기능이나 보안을 제공하지 않으며 확인할 수도 없습니다. 타사 드라이버를 JDBC 확장 프로그램과 함께 사용하기 전에
확장 보안 권장 사항을 검토할 것을 강력히 권장합니다.
마지막으로 앞서 언급한 이러한 JDBC 드라이버는 ThingWorx 데이터베이스 사물에만 사용할 수 있습니다.
개요
데이터베이스용 ThingWorx에 JDBC 확장이 없는 경우 드라이버를 다운로드하고 /Tomcat folder/webapps/Thingworx/WEB-INF/lib 위치에 파일을 추가하여 JDBC 드라이버를 수동으로 추가할 수 있습니다.
드라이버를 복사한 후 ThingWorx를 재시작해야 합니다.
Tomcat이 재시작되지 않도록 하려면 JDBC 드라이버가 포함된 데이터베이스 확장을 빌드하고 가져올 수 있습니다. 이 방식의 장점은 드라이버를 수동으로 로드할 필요가 없다는 것입니다. 클래스 로드는 자동으로 처리되며 업그레이드가 안전하므로 ThingWorx 웹 응용 프로그램을 업데이트할 때 드라이버를 다시 배포할 필요가 없습니다. 데이터베이스 확장을 만드는 방법에 대한 자세한 내용을 보려면 아래 단계를 수행하십시오.
ThingWorx용 JDBC Extension 생성
JDBC 확장을 생성하려면 다음을 수행하십시오.
|
|
ThingWorx 확장 지원 모델이 최근에 변경되었습니다. 대부분의 확장은 더 이상 다운로드 페이지에서 사용할 수 없습니다. 자세한 내용은 이 문서를 참조하십시오.
|
2. Microsoft SQL Server 또는 MySQL과 같은 특정 관계형 데이터베이스용 JDBC 드라이버 JAR 파일을 해당 공식 웹사이트에서 다운로드합니다.
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 사물 템플릿이 표시됩니다.
12. 생성된 사물 템플릿을 사용하여 새 사물을 만듭니다.
13. 관계형 데이터베이스에 연결하도록 JDBC 설정을 구성합니다.
필드 이름 | 설명 |
|---|
JDBC 드라이버 클래스 이름 | 사용 중인 드라이버에 따라 다릅니다. |
JDBC 연결 문자열 | |
ConnectionValidationString | 실행될 테이블 이름에 관계없이 데이터베이스의 반환 값을 확인하는 간단한 질의입니다. |
데이터베이스에 대한 질의 및 명령
구성 설정이 완료되면 서비스에서 SQLQueries 및 SQLCommands를 만들어 연결한 데이터베이스에 적용할 수 있습니다.
변수 전달
질의를 작성할 때 매개 변수/변수 대체에 [[매개 변수 이름]]을 사용하고 문자열 대체에 <<문자열 대체>>를 사용합니다.
예
DELETE FROM <> WHERE (FieldName = '[[MatchName]]');
DELETE FROM << TableName >> WHERE ( FieldName = [[MatchNumber]]);
| SQL 삽입의 위험이 발생할 수 있으므로 << ... >> 문자열 대체를 사용하는 것은 매우 위험합니다. 이 매개 변수 전달 방법을 사용할 때는 주의하는 것이 좋습니다. 그러나 매우 동적인 질의 집합을 생성하려면 테이블 이름을 << 테이블 이름 >>으로 전달해야 합니다. 또한 IN 절을 사용해야 하는 경우 컬렉션을 << 항목1, 항목2, 항목3,>>과 함께 전달해야 합니다. |