Installation Guides > Installing Data Model > Supported upgrade paths > UNICOM Intelligence JDBC Driver guide > UNICOM Intelligence JDBC Driver specification > Troubleshooting the JDBC Service Driver
 
Troubleshooting the JDBC Service Driver
After installing the JDBC Service Driver, how can I verify that it is functioning properly? Is there a log that can help debug potential problems?
There is a Windows service named DataCollectionJDBCDriverService that runs even when the Data Model is not installed on your computer. When problems occur, you can check the DataCollectionJDBCDriverService service log in the Windows Event Viewer. To open the Event Viewer from the Windows Control Panel, click Start > Control Panel > Administrative Tools > Event Viewer.
What permissions are required to use the JDBC Client Driver?
The account referenced in the connection string should be a Windows user, and must have permission to log onto the JDBC Service Driver machine. Blank passwords are not accepted.
How can I convert category values, such as {25,26}, to readable strings via the JDBC Client Driver?
By default, the JDBC Client Driver returns category values for the type CATEGORICAL. You can use the method FormatValue() to convert the values to a label. For example, if you want to convert a column named location in an HDATA table, you can write a query such as:
SELECT FormatValue(location, location, 'b') from HDATA
In this example, the first location is the variable name defined in the metadata and the second location is the column name in HDATA. For more information, see “FormatValue” in the UNICOM Intelligence Developer Documentation Library.
Obtaining the category element label
Use the metadata mechanisms and, if required, use the DefinedCategories function. Metadata should be supplied via the standard JDBC metadata mechanism, not new SQL syntax. SQL syntax should be used as a pass-through to mrOleDB.
Example for multi-response categoricals
// Categorical string (unique values): SELECT Museums FROM VDATA
// Categorical string (category names): SELECT Museums.Format('a') FROM VDATA
// Categorical string (category labels): SELECT Museums.Format('b') FROM VDATA
// Category set (unique values)
SELECT Museums.GetAnswer(0), Museums.GetAnswer(1), Museums.GetAnswer(2), Museums.GetAnswer(3), Museums.GetAnswer(4) FROM VDATA
 
// Category set (category names)
SELECT Museums.GetAnswer(0).Format('a'),
  Museums.GetAnswer(1).Format('a'),
  Museums.GetAnswer(2).Format('a'),
  Museums.GetAnswer(3).Format('a'),
  Museums.GetAnswer(4).Format('a')
FROM VDATA
// Dichotomy set
SELECT Museums.HasAnswer({national_museum_of_science}) As national_museum_of_science,
  Museums.HasAnswer({museum_of_design}) As museum_of_design,
  Museums.HasAnswer({institute_of_textiles_and_fashion}) As institute_of_textiles_and_fashion,   Museums.HasAnswer({archeological_museum}) As archeological_museum,   Museums.HasAnswer({national_art_gallery}) As national_art_gallery,
  Museums.HasAnswer({northern_gallery})  As northern_gallery,
  Museums.HasAnswer({other}) As other,
  Museums.HasAnswer({not_answered }) As not_answered FROM VDATA
The labels for all elements can be returned from mrOleDB. For example:
SELECT Museums.DefinedCategories().Format('b') FROM VDATA
See also
UNICOM Intelligence JDBC Driver specification