"Unable to import data" error received when adding data via direct ODBC connection in TIBCO Spotfire installed client.

"Unable to import data" error received when adding data via direct ODBC connection in TIBCO Spotfire installed client.

book

Article ID: KB0075954

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description

When adding a data table via "Add (+)" > "Other" > "Load data with ODBC, OLE DB, or ADO.NET" data provider (or in versions 7.14 and lower: "Add Data Tables" > "Database..." > "Odbc Data Provider") or when opening an analysis in the TIBCO Spotfire installed client which has a data table based on an ODBC connection, the following error is thrown. "Unable to import data. See the details for more information."

The following error is seen in the error dialog and in the Spotfire.Dxp.SupportDiagnostics.log . 
 
Error message: Unable to import data. See the details for more information.

ImportException at Spotfire.Dxp.Forms:
Unable to connect to data source. (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Forms.Data.Import.DataSourceFactoryService.CreateConfiguredDataSourceFromDatabase()
   at Spotfire.Dxp.Forms.Data.Import.DataSourceFactoryService.CreateDataSources(DataSourceType dataSourceType, String errorDialogTitle, String fileOpenDialogTitle, DataSourceFactory dataSourceFactory, String initialDirectory, Boolean showOnDemandButtonInInformationLinkPrompt)


ImportException at Spotfire.Dxp.Data:
Failed to execute data source query. (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Data.DataSourceConnection.<GetPromptModels>d__2.MoveNext()
   at Spotfire.Dxp.Data.DataSource.Connect(IServiceProvider serviceProvider, DataSourcePromptMode promptMode, Boolean updateInternalState)
   at Spotfire.Dxp.Forms.Data.Import.DataSourceFactoryService.CreateConfiguredDataSourceFromDatabase()

OdbcException at :
ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (HRESULT: 80131937)

Stack Trace:
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at Spotfire.Dxp.Data.Import.DatabaseDataSource.<>c__DisplayClass8.<GetPromptModels>b__4()
   at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)
   at Spotfire.Dxp.Data.Import.DatabaseDataSource.<GetPromptModels>d__a.MoveNext()
   at Spotfire.Dxp.Data.DataSourceConnection.<GetPromptModels>d__2.MoveNext()

Cause:
There is an architecture mismatch between the TIBCO Spotfire client application and the installed database driver. Using a 64-bit operating system means that the TIBCO Spotfire client is also running in 64-bit mode, but the ODBC database driver installed locally is 32-bit.

Issue/Introduction

"Unable to import data" error received when adding data via direct ODBC connection in TIBCO Spotfire installed client.

Resolution

  1. Install 64 bit ODBC database driver.
    Use a 64-bit ODBC database driver version on the client machine with a 64-Operating System. To ensure that you have the correct ODBC drivers installed, download and install the 64-bit version. For example, http://www.microsoft.com/en-us/download/details.aspx?id=13255 or install a 64-bit version of Microsoft Office.
     
  2. Create a 64 bit DSN (data source name).
    Create a 64-bit DSN using the 64-bit version of "ODBC Data Source Administrator". When creating a DSN for use within TIBCO Spotfire installed client on a 64-bit operating system, ensure you use the 64-bit "ODBC Data Source Administrator" from the %systemdrive%\Windows\System32 folder since 32-bit DSNs will not be accessible from a 64-bit application. The Microsoft "ODBC Data Source Administrator" exists in two versions:
    • The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder.
    • The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\System32 folder.
 
Recommendation: Avoid having DSNs of the same name in both the 32-bit and 64-bit versions of "ODBC Data Source Administrator". This way the 32-bit "ODBC Data Source Administrator" will not be mistakenly used when configuring DSNs for use in a 64-bit Spotfire instance.
 

Additional Information

KB: 000020328 How to access 32-bit data files with 64-bit Spotfire on a 64-bit operating system.