Problems with server if it encounters a error.
Is it normal that when the server encounters an error it completelly stops
working, not even respoiding to demands of other clients ?
2 Cases.
In my server i'm using a Explorer, adjusted with security on the Folder and
Item tables depeding on the user that access the server. It is working fine,
but at a given moment i made a adjustment to the database and made a mistake
on the permissions. When accessing the server it reported an error, what was
normal, but afterwards i granted the priviliges again but the server didn't
take any new connections anymore.
Second case, in one of my reports i'm having troubles with TeeChart's
(another case that is alreay at support), but when this error occurs after
having published the report, not only that report crashes (what would be
'normal') but the server is dead.
Kind Regards
working, not even respoiding to demands of other clients ?
2 Cases.
In my server i'm using a Explorer, adjusted with security on the Folder and
Item tables depeding on the user that access the server. It is working fine,
but at a given moment i made a adjustment to the database and made a mistake
on the permissions. When accessing the server it reported an error, what was
normal, but afterwards i granted the priviliges again but the server didn't
take any new connections anymore.
Second case, in one of my reports i'm having troubles with TeeChart's
(another case that is alreay at support), but when this error occurs after
having published the report, not only that report crashes (what would be
'normal') but the server is dead.
Kind Regards
This discussion has been closed.
Comments
There is no way for the RB Server to know which exceptions are truly fatal
to the server application and which are not. By design, exceptions that
descend from EReportBuilderError result in the thread being terminated on
the server and the exception being sent back to the client. Other threads in
the server continue to operate. Other exceptions are considered fatal. This
result in the server application haulting. If you are running the server
within the context of RB Services, then is will be restarted automatically.
This can take some time, it is not instantaneous.
ReportBuilder converts many common exceptions to EReportBuilderError (or
descendant Exception classes of EReportBuilderError). Errors loading
reports, errors connecting to a database, etc.
If you have custom server code that is executing, you can do the same. Use a
try...except to trap exceptions and re-raise them as EReportBuilderError
descendant classes that you define.
1. Declare a custom exception class: EmyServerError
uses
ppTypes;
type
EmyServerError = class(EReportBuilderError);
implementation
2. Convert desired exceptions to EmyServerError
try
{some code}
except on E: EStreamError do
raise EmyServerError.Create(E.Message);
end;
--
Nard Moseley
Digital Metaphors
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com