Data source type field is empty when trying to add data tables via Add > Other > Database

Data source type field is empty when trying to add data tables via Add > Other > Database

book

Article ID: KB0080062

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description

When trying to add data tables via Add - Other - Database, the field "Data Source type" is empty.
This error may bee seen due to an issue in the machine.config file, which can happen when multiple versions of .NET are installed.

Issue/Introduction

When trying to add data tables via Add > Other > Database, the field "Data Source type" is empty. This can be due to multiple DbProviderFactories nodes in the machine.config file.

Environment

TIBCO Spotfire Analyst

Resolution

A possible solution can be the following:

1. Find the machine.config file and make a backup of it in case needed. An example of how the path to the file can look:
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.Config
2. The block to pay attention to is <DbProviderFactories>, an example of how it can look is below:
<system.data>
  <DbProviderFactories>
    <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/>
    <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
  </DbProviderFactories>

  <DbProviderFactories/>

</system.data>

3. In the machine.config file under the Vx.xx folder, look for lines like (note that there are two separate DbProviderFactories nodes, one with data and one empty node):
<system.data>
  ...
 <DbProviderFactories />
</system.data>

4. Delete this line only (the empty DbProviderFactories node):
<DbProviderFactories />

5. Close and save the file. For example, the above example block when modified correctly would look like the following:
<system.data>
  <DbProviderFactories>
    <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/>
    <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
  </DbProviderFactories>
</system.data>

Additional Information

https://forums.asp.net/t/1693277.aspx