I am using Crystal Reports and ADO recordsets. I open the connections and pass recordsets from them to the Crystal ActiveX viewer.
Because Crystal is still using the connections I am unable to close the connections within the same page. However if I don't close the connections I have SQL processes left open appearing in the SQL Enterprise Manager's management->Current Activity->Process Info. :(
Therefore I need to close these connections in a separate page (to be called when the user closes the report viewer). Problem is these connection objects will no longer be in scope. (I assume I can't write out client side handles and pass these on - it would surprise me if I could.)
One method would be store the connection objects in session variables. However I know this is bad practice and causes all sorts of scaleability and exclusivity problems.

I need to hang onto my ASP session and application data so I can't simply do a session.abandon() either.
How else can I close these connections? Neither SQL nor Crystal seem to close them for me. Do I need to open them in some other manner or is there a means of 'getting' the open connections to a database (in a later ASP page) and then closing them. Or is there a simple handle I can pass on client side to a new page?
