Skip to main content
Question

The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect


Forum|alt.badge.img

I am receiving a vaige AreObjects error '-2147216072'. That said, it appears to be different than the other questions posted here (such as this, this, and this). The actual error I'm receiving is

"An error occurred while flushing the cursor for the table/feature class 'my_table_here'. The error number from ArcObjects is: '-2147216072'. The error message from ArcObjects is: {Underlying DBMS error [[Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 5 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.]}"

The workflow does write some data, up to 32,000 records into an SDE table using the ArcSDE Geodb writer (there should be 33,001). It will also run without error if I remove a portion of the data based upon location. There is sufficient space in the SQL Database. I have also attempted to change the data types (from integer to double, string to integer, integer to string, etc.). Additionally, I have deleted the table multiple times, so as to start from scratch. Thanks.

3 replies

erik_jan
Contributor
Forum|alt.badge.img+17
  • Contributor
  • June 11, 2018

Hi Tara,

Sounds to me like one of the records contains data messing up the SQL query that inserts data in the database.

My guess (from experience) is you have a character field containing a single quote (').

The fact that you do have 32.000 records in the destination indicates your commit interval is most likely 1000 or 2000 records. The next set fails and is rolled back.

Hope this helps you finding the issue.

Erik


Forum|alt.badge.img
  • Author
  • June 12, 2018
erik_jan wrote:

Hi Tara,

Sounds to me like one of the records contains data messing up the SQL query that inserts data in the database.

My guess (from experience) is you have a character field containing a single quote (').

The fact that you do have 32.000 records in the destination indicates your commit interval is most likely 1000 or 2000 records. The next set fails and is rolled back.

Hope this helps you finding the issue.

Erik

Thanks for the response @erik_jan. I'm afraid I have scoured the data, and can't find a single quote anywhere. Technically, all of the fields are numbers, but I need to write one as text (as that is what is required for our CMMS). Regardless, changing it between string and integer (or double) doesn't affect the outcome. I can write out to a File Geodatabase with the same parameters without issue. It appears to be an issue with SDE, as it fails at the same point when writing to our test SDE. Thank you for the suggestion though!

 

 


swach
Contributor
Forum|alt.badge.img+6
  • Contributor
  • November 10, 2021
tara wrote:
Thanks for the response @erik_jan. I'm afraid I have scoured the data, and can't find a single quote anywhere. Technically, all of the fields are numbers, but I need to write one as text (as that is what is required for our CMMS). Regardless, changing it between string and integer (or double) doesn't affect the outcome. I can write out to a File Geodatabase with the same parameters without issue. It appears to be an issue with SDE, as it fails at the same point when writing to our test SDE. Thank you for the suggestion though!

 

 

@tara Did you ever figure this out? I am having a similar issue.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings