snowflakedb / snowflake-jdbc

Snowflake JDBC Driver
Apache License 2.0
173 stars 164 forks source link

SNOW-1001015: Cannot convert value in the driver from type:FIXED(38,0) to type:int, value=5,738,342,984 #1598

Closed sfc-gh-msingh closed 7 months ago

sfc-gh-msingh commented 8 months ago

The customer has a Table in DBT(Source) where the source table is INT type and Snowflake table created is of number(38,0), while inserting the data it is showing an error[1], the same work via Snowflake UI .

as of now the workaround I have used to set "JDBC_TREAT_DECIMAL_AS_INT"" to false.

[1] Cannot convert value in the driver from type:FIXED(38,0) to type:int, value=5,738,342,984. SQL Statement:select * from smcweene.azure_pasx_ebr_data where order_id = '907981' and activity_path_txt = 'BUFPREP#IPT#CONDTEST#EVALRES' and id = 'CONDRES' and process = 'Solution Preparation' and parameter = 'Conductivity' and material_class = 'Solution' and actual_measurement_numeric = 5.14

This is similar to issue type: https://github.com/snowflakedb/snowflake-jdbc/issues/252

JDBC version: JDBC 3.13.28.

sfc-gh-lfaganello commented 7 months ago

I have a customer with the same issue - He's working on IBM Cognos and connecting to Snowflake through JDBC 3.13.6. The error message is very similar:

Error message: XQE-DAT-0001 Data source adapter error: net.snowflake.client.jdbc.SnowflakeSQLException: Cannot convert value in the driver from type:FIXED(null,null) to type:Long, value=11546877906662417390.

However, the workaround of setting the JDBC_TREAT_DECIMAL_AS_INT to false did not work in this case.

sfc-gh-wfateem commented 7 months ago

Closing this as a duplicate of #252. Please follow the progress of this issue in #252.