Integrating with a custom JDBC Driver

Hi,

I'm trying to integrate with a custom JDBC driver, that connects to a no sql database. My current data source template looks like this:

<jdbc-type-settings>
    <type-name>elasticsearch</type-name>
    <driver>org.test.test.sql.jdbc.jdbc.JdbcDriver</driver>
    <connection-url-pattern>jdbc:test://&lt;host&gt;:&lt;port9200&gt;</connection-url-pattern>
    <supports-catalogs>false</supports-catalogs>
    <supports-schemas>false</supports-schemas>
    <supports-procedures>false</supports-procedures>
    <ping-command>SHOW TABLES</ping-command>
        <column-name-pattern>$$name$$</column-name-pattern>
  <table-name-pattern>$$name$$</table-name-pattern>
  <schema-name-pattern>$$name$$</schema-name-pattern>
  <catalog-name-pattern>$$name$$</catalog-name-pattern>
  <procedure-name-pattern>$$name$$</procedure-name-pattern>
  <column-alias-pattern>$$name$$</column-alias-pattern>
</jdbc-type-settings>

On attempting to connect via Spotfire Analyst, through Information Designer, i see a "SHOW TABLES" executed successfully.  If i execute the same command via DBVisualiser, i get the following:

DBVisualizer Response
  table
1 people
2 companies

 

Information Designer, however, throws the following exception:

Error message: Could not get contents of 'Test' from the server.

InformationModelException at Spotfire.Dxp.Data:
[pattern] must not be null (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.ListDataSourceChildren(Guid dataSourceId, String dataSourceName)
   at Spotfire.Dxp.Forms.Data.InformationDesigner.Cache.CachedDataSource.<GetChildren>d__0.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at Spotfire.Dxp.Forms.Data.InformationDesigner.Cache.CachedItem.EnsureChildrenLoaded()
   at Spotfire.Dxp.Forms.Data.InformationDesigner.VirtualMultiSelectTreeView.TreeItem.Expand()

InformationModelServiceException at Spotfire.Dxp.Services:
[pattern] must not be null (HRESULT: 80131509)

Stack Trace:
   at Spotfire.Dxp.Services.WebServiceBase`1.InvokeService[T](ServiceMethod`1 serviceMethod, ExceptionFactoryMethod exceptionFactoryMethod)
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.ListDataSourceChildren(Guid dataSourceId, String dataSourceName)

SoapHeaderException at System.Web.Services:
[pattern] must not be null (HRESULT: 80131501)

Stack Trace:
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Spotfire.Dxp.WebServices.ElementManagerService.listDataSourceElements(DataSourceElementPath path)
   at Spotfire.Dxp.Services.Data.InformationModel.ElementManagerService.<>c__DisplayClass1b.<ListDataSourceElements>b__1a()
   at Spotfire.Dxp.Services.WebServiceBase`1.InvokeService[T](ServiceMethod`1 serviceMethod, ExceptionFactoryMethod exceptionFactoryMethod)
 

I suspect the formating of the tables is not appropriate. Is there anything i can do, through configuration, to instruct the server to expect the above response?

 

(1) Answer

Login