Solved

Cdata XML Connector

  • 14 August 2020
  • 4 replies
  • 38 views

Hi I am trying retrieve data through an API using XML

I am getting the following error. The API requires I use a wildcard  to retrieve all values. My XML works if I use Postman / Swagger to test.

Error obtaining value for column 'ProductList.Product.ProductCode': Error parsing long value [ * ].

Details:

Error parsing long value [ * ].
Module: System.Data.CData.XML
dvo200m.hq
at dvo200m.Uw.qM(String )
at dvo200m.Uw.u(String , Int32 , Int32 , Boolean )
at dvo200m.fZ.Na(String , Int32 , Int32 )
at dvo200m.ZG.H(Int32 , Int32 , Int32 )

Error obtaining value for column 'ProductList.Product.ProductCode': Error parsing long value [ * ].
Module: System.Data.CData.XML
dvo200m.hq
at dvo200m.ZG.H(Int32 , Int32 , Int32 )
at dvo200m.ZG.GetValue(Int32 , Int32 )
at CData.Sql.ResultSetBase.GetValue(Int32 colIndex, Int32 dataType)
at dvo200m.Zv.L(Int32 , Int32 , Int32 )

Error obtaining value for column 'ProductList.Product.ProductCode': Error parsing long value [ * ].
Module: System.Data.CData.XML
dvo200m.hq
at dvo200m.Zv.L(Int32 , Int32 , Int32 )
at dvo200m.Zv.GetValue(Int32 )
at dvo200m.At.GetValue(Int32 )
at System.Data.CData.XML.XMLDataReader.GetValue(Int32 ordinal)
at System.Data.SqlClient.SqlBulkCopy.GetValueFromSourceRow(Int32 destRowIndex, Boolean& isSqlType, Boolean& isDataFeed, Boolean& isNull)
at System.Data.SqlClient.SqlBulkCopy.ReadWriteColumnValueAsync(Int32 col)
at System.Data.SqlClient.SqlBulkCopy.CopyColumnsAsync(Int32 col, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.CopyRowsAsync(Int32 rowsSoFar, Int32 totalRows, CancellationToken cts, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsyncContinued(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsync(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestContinuedAsync(BulkCopySimpleResultSet internalResults, CancellationToken cts, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source)
at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken)
at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken)
at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)
at TimeXtender.DataManager.StepTransferSSISExecute.BulkCopySource(Boolean executeIncrementalLoad, DataSource dataSource, VariableResolveObject dynamicResolveObject)
at TimeXtender.DataManager.StepTransferSSISExecute.DoStageDataSource(Boolean isIncrementalAllowed, DataSource dataSource, StepSetup stepSetup, VariableResolveObject dynamicResolveObject)
at TimeXtender.DataManager.StepTransferSSISExecute.DoStage(StepSetup stepSetup, VariableResolveObject dynamicResolveObject)

icon

Best answer by JTreadwell 20 May 2021, 23:10

View original

4 replies

Userlevel 3
Badge +5

Are the Data types being identified correctly? You may need to setup data type overrides to ensure the data types are not too restrictive.

Were you able to resolve this? I am able to pull the data on browser & Postman but it throws me off with 'Parsing data type' issue on Boolean or another Float types. I've used data type overrides too. 

I do see missing data on these certain fields for some records but I am expecting it to return NULL when It couldn't find anything on those particular fields. 

#21373   ---- My ticket on this

Userlevel 3
Badge +5

Hi Satish,
Try setting misc. > Type Detection Scheme: None

This will prevent the provider from trying to detect the data types and just bring everything in as varchar.

 

 

Reply