 |
SoftTree Technologies
Technical Support Forums
|
|
Author |
Message |
tkovinska
Joined: 09 Dec 2009 Posts: 2 Country: Ukraine |
|
Error during DatabaseRetrieve from large table |
|
I receive an error "An error occurred while executing 24x7 script:Line73:."
DatabaseRetrieve(message,rows)
The message is "exec stopedProcedure ..."
The call for this SP correctly returned data. Data's selected from temp table created in this SP.
But the temp table is large: there is “Warning …” during creating SP:Warning: Row size (2152 bytes) could exceed row size limit, which is 1962 bytes.
There are a lot of columns in the temp table: col_name varchar(255) null
If I narrow one column that there is no warning during create SP.
DatabaseRetrieve(message,rows) - works without errors.
|
|
Wed Dec 09, 2009 12:29 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7952
|
|
|
Wed Dec 09, 2009 1:30 pm |
|
 |
tkovinska
Joined: 09 Dec 2009 Posts: 2 Country: Ukraine |
|
|
|
Thanks for advice.
[quote]The call for this SP correctly returned data.[/quote]
So SP call from message "exec stopedProcedure ..." return data if I execute it.
There is [b]no error on the database[/b].
There is following log during exec SP
------------------------ Execute ------------------------
Warning: Row size (2152 bytes) could exceed row size limit, which is 1962 bytes.
return status = 0
(1 rows affected)
------------------------- Done --------------------------
|
|
Thu Dec 10, 2009 3:14 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7952
|
|
|
|
Returned data is not an indication of error-less and warning-less processing. The warning message coming from the database precisely explains the issue "Row size (2152 bytes) could exceed row size limit, which is 1962 bytes." - again, this is your Sybase server talking, not 24x7.
If you really don't care about this warning and don't want it to trigger a job error, you have several options, for example
 |
 |
OnErrorResumeNext
DatabaseRetrieve(message,rows)
OnErrorStop |
I still recommend to handle this error on db side, in your stored procedure - write the code in such a way that the warning is not generated. I speculate that this warning is raised when you populated temp table within the procedure, not when you retrieve data from that table.
Here is a copy and paste from Sybase manual
Error:
Msg 1708, Level 16, State 1:Warning: Row size could exceed row size limit,
which is %d bytes.
Action
If Error 511 is being caused by a table containing rows with more than the maximum row size, divide the table into two or more tables so that no row length is more than the allowable number of characters.
|
|
Thu Dec 10, 2009 9:25 am |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|