Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Hi All,
I am trying to set up a SQL Server database connection. I have followed the simple tutorials:
https://learningconnector.ptc.com/video-tutorial/Tutorials/4872/1?locale=en&searchKeyword=database
https://learningconnector.ptc.com/video-tutorial/Tutorials/4917/0?locale=en&searchKeyword=database
But when i try to test the service i get the following message: "Thing [DatabaseThing] is not running". I have tried to disable/enable the thing as well as unchecking and checking the 'Active' checkbox on the general information without success. Is there something else i can try?
Also, thinking that there may be a initial connection issue i tried downloading the sqljdbc4.jar file and adding it to the tomcat directory, then restart the tomcat service. The tomcat service restarted but thingworx did not, this is the error i received: https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS189387.
Any help appreciated.
Andy
Hi Andrew, does ThingWorx work without adding the jar? Are you trying to configure MS SQL Server as an external data store and not as the persistence provider? Could you add the details on ThingWorx version, tomcat version and MS SQL Server version?
If MS SQL is your external data store, which persistence provider package are you using with ThingWorx?
Hi Sushant,
Yes ThingWorx works without adding the jar.
Yes, I have been trying to configure an SQL Server database using a database thing. The database is located on a remote VM.
The versions:
ThingWorx: 7.4
tomcat: 8.1.33
SQL: SQL EXPRESS 2014 SP2
I am unsure which persistence provider i should be using, I haven't yet configured one of these.
Thanks Andrew for sharing the details to begin with tomcat isn't of supported version, with v7.4 Apache Tomcat 8.0.38 is supported and secondly it seems you are using one of the embedded DB, probably that's why you weren't required to setup a separate persistence provider. You can check your existing persistence provider by navigating to Composer > Data Storage > Persistence Provider in case it's not visible just enable the visibility in Advanced > Show System Objects > Done
Once visible you can click on the magnifying glass in front of the Persistence provider to check for the name would show something like this
Now concerning the jar issue after installing the MSSQL extension the jar should already be there so normally you wouldn't require to add on top. You can check that by navigating to ThingworxStorage\extensions\MSSQL_ExtensionPackage\lib\common\
Could you please share the errors you got while making connection to the Schema? Was TCP/IP protocol enabled in SQL Server Configuration Manager before attempting connection to the DB
My Persistence Provider Package is:
MssqlPersistenceProviderPackage
Please see the catalina log attached.
If this is the most recent log, then it's rather strange as it contains no error and since you mentioned your ThingWorx installation is using SQLServer. Are you able to login to composer?
Assuming that it's working fine with ThingWorx together with MSSQL PersistenceProvider , you are then trying to setup up an external connection via the MSSQLConnector_Extension? Is it to same schema or to different schema?
Could you please share the steps you took to setup the MSSQLConnector if this is what you're using to establish connection to external MSSQL server?
Yes i am able to log in to the composer.
I have followed the two tutorials in the original post to firstly create a thing based on a database thing template and secondly i have added a service to the newly create thing, of base type database.
The error message i receive is the following: "Thing [Database Thing] is not running."
When i try to create a Persistence Provider using the MssqlPersistenceProviderPackage as the provider i see the following message when i try to save it.
Do i need to create a persistence provider when i am trying to connect to an external database? at this moment i am not using the MSSQLConnector.
No you don't have to create persistence provider if you are connecting to an external DB data source. MSSQL Connector is the way to go.
To me this looks more like an issue with the configuration you have done for the database thing, would it be possible for you to share that?
Additionally, are you able to successfully connect to that schema otherwise, e.g. via Management studio?
Unfortunately the links to those tutorial is broken so i can't see the videos.
As Sushant mentioned there is no requirement of adding the sqljdbc.jar to the tomcat directory.
Please try following:
1. Remove the sqljdbc.jar from the tomcat directory and start ThingWorx tomcat again.
2. Remove the MSSql extension from the Extension manager.
3. Restart ThingWorx Tomcat.
4. Import the MSsql extension again and save the Application logs of the Timeframe.
5. Review the logs to make sure Extension installed successfully.
6. Check <Tomcat_Home>\webapps\Thingworx\WEB-INF\extensions and ThingworxStorage\extensions\MSSQL_ExtensionPackage\lib\common\ to confirm that sqljdbc.jar is there from the extension.
7. Create a Thing using MSSQL DB Thing Template and enter DB configuration in the Thing configuration.
8. Make sure the isconnected property changes to true.
9. If the issue still persist; check Application logs for details.