January 28, 2013 at 11:55 am
Hi I have SQL Server 2000 - 8.00.2066 (Intel X86)
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
with a Java Application (1.5)
I have a sqlserver.jdbc.SQLServerException:
Error converting data type float to decimal from a stored procedure.
So, I needed to increase the max size in the column, so I increased the column from 8,2 to 9,2 with a
ALTER COLUMN [total_m] [decimal](9, 2) NOT NULL
That works, now with SQL, I can insert a value of 1,000,000.00 into this column. doubleValue() should hold the million.
When the application runs, it uses a stored procedure to insert the data
HOWEVER the save FAILS with the
Error converting data type float to decimal from a stored procedure.
Here is the basics of the stored procedure :
(I scaled this down to the relevant info:)
qq_SQL = "{? = call usp_temp_ins(? )}";
qq_call = this.getTheDBSession().getCallableStatement(qq_SQL);
qq_call.registerOutParameter(1, Types.INTEGER);
--// handle return codes
qq_call.registerOutParameter(2, java.sql.Types.INTEGER);
qq_call.registerOutParameter(3, java.sql.Types.INTEGER);
qq_call.registerOutParameter(4, java.sql.Types.INTEGER);
--
if (((Temp)p_Tempp.getObject()).getTotal_m() == null)
qq_call.setNull(1, Types.DOUBLE);
else
qq_call.setDouble(1, ((Temp)p_Temp.getObject()).getTotal_m().doubleValue());
qq_call.execute();
((Temp)p_Temp.getObject()).setM_id(qq_call.getInt(2));
row_count = qq_call.getInt(3);
ret_code = qq_call.getInt(4);
qq_RowCount = (DataValue)FrameworkUtils.mapToDataValue(qq_call.getObject(1));
}
Any suggestions very much appreciated.
January 28, 2013 at 1:19 pm
Seems to be more of an issue with the precision you are setting with your decimal data type i.e. (9,2) - determine the maximum number of decimal places in the float column, then increase the precision to match that number
______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience
January 30, 2013 at 12:09 pm
It turns out I was looked at the wrong stored procedure
After I altered the correct stored procedure to match the table alter it worked fine.
Thanks for the help !
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply