Product: TIBCO Spotfire®
"Unable to import data" error received when adding data via direct ODBC connection in TIBCO Spotfire installed client.
Description: When adding a data table via "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."
Symptoms: 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)
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)
at Spotfire.Dxp.Data.DataSource.Connect(IServiceProvider serviceProvider, DataSourcePromptMode promptMode, Boolean updateInternalState)
OdbcException at :
ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (HRESULT: 80131937)
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 Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)
- - -
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.
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:
o The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder.
o 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.
Reference: KB: 43035 How to access 32-bit data files with 64-bit Spotfire on a 64-bit operating system.
Keywords: ODBC, database connection, architecture mismatch, DSN, 32 bit, 64 bit, 32-bit, 64-bit, database