Keywords: snowflake, spatial, geography, geo, map, mapchart, jdbc, information links, wkb
When following the instructions for setting up information links to work with geography columns (Configuration of Geographical Data for Map Charts) and using Snowflake as the data source you will get an error similar to this:
InformationModelException at Spotfire.Dxp.Data:
Failed to get data: null (HRESULT: 80131500)
Stack Trace:
at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.DataStream.GetNextBlock()
at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.DataStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at Spotfire.Dxp.Internal.Utilities.SeekableStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
at System.IO.BinaryReader.ReadUInt16()
at Spotfire.Dxp.Data.Formats.Sbdf.SbdfSectionHeader.ReadMagicNumber(BinaryReader reader)
at Spotfire.Dxp.Data.Formats.Sbdf.SbdfSectionHeader.ReadSectionType(BinaryReader reader, SbdfSectionTypeId expectedType)
at Spotfire.Dxp.Data.Import.SbdfDataRowReader.DelayedInit()
at Spotfire.Dxp.Data.Import.InformationLinkDataSourceConnection.ExecuteInformationLink()
at Spotfire.Dxp.Data.Import.InformationLinkDataSourceConnection.KnownColumnsInformationLinkDataRowReader.TryCreateCxxRepresentation(CxxSession session, Int64 exclusiveStartRowIndex, UInt64 maxRowsThatWillBeRead, PendingViewRequestsManager pendingViewRequestsManager, CxxTable& table)
at Spotfire.Dxp.Data.Cxx.CxxDataTransfer.CreateTable(DataRowReader dataRowReader, CxxSession session, PartialDataLoadReport report, Advancer rowAdvancer, Boolean needsReset, Int64 exclusiveStartRowIndex, UInt64 maxRowsThatWillBeRead, PendingViewRequestsManager partiallyLoadedConsumers)
at Spotfire.Dxp.Data.AsyncImport.DataSourceLoadingView.<>c__DisplayClass8_1.<CreateFullView>b__1()
at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)
at Spotfire.Dxp.Data.AsyncImport.DataSourceLoadingView.<>c__DisplayClass8_0.<CreateFullView>b__0(DataManager dataManager)
at Spotfire.Dxp.Framework.DocumentModel.Snapshot`1.<>c__DisplayClass19_0.<ReadWithLimitationTarget>b__0()
at Spotfire.Dxp.Framework.DocumentModel.ThreadTransactionInfo.EvaluateWithLimitationTarget(ILimitationTarget limitationTarget, Executor executor)
at Spotfire.Dxp.Framework.DocumentModel.Snapshot`1.ReadWithLimitationTarget(ILimitationTarget limitationTarget, Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.Snapshot`1.ReadWithGenerationSpan(Action`1 action, Action`1 invalidPropertyReadCallback)
at Spotfire.Dxp.Framework.DocumentModel.Snapshot`1.Read(Action`1 action)
at Spotfire.Dxp.Data.AsyncImport.DataSourceLoadingView.CreateFullView(DataSource dataSource, Snapshot`1 dataManagerSnapshot, CxxSession session, PendingViewRequestsManager pendingViewRequestsManager, Boolean loadingOnApplicationThread)
at Spotfire.Dxp.Data.AsyncImport.DataSourceLoadingView.<>c__DisplayClass5_0.<Start>b__0(PendingViewRequestsManager pendingViewRequestsManager)
at Spotfire.Dxp.Framework.ApplicationModel.Progress.<>c__DisplayClass21_0.<Start>b__0()
at Spotfire.Dxp.Framework.ApplicationModel.MonitorableProgress.Start[T](Func`1 action)
at Spotfire.Dxp.Data.AsyncImport.BackgroundImportLoadingView.<>c__DisplayClass15_0.<StartLoading>b__0()
This is due to a limitation in the Snowflake JDBC driver and it is currently not possible to use Snowflake for information links with spatial information in Spotfire.
The data connector for Snowflake works together with spatial data as this is using the ODBC driver that does not have this limitation.
Comments
0 comments
Please sign in to leave a comment.