D
dbeavon
Guest
I have a little more information about the problem where the database is disconnected. When this happens, the rug is pulled out from under PASOE and the agent sessions become useless for anything other than generating error messages. After opening a call with tech support I've learned that the issue didn't have anything to do with the migration to PASOE as such. The problem was related to the migration away from shared memory connections. With "shared memory" connections the agent(thread) is recycled. However if the databases is restarted and their are "client/server" connections, then the problem will occur, and the errors won't go away unless a custom programming solution is implemented. I am new to client/server programming and this stuff surprised me. I wouldn't have guessed that any of this stuff would require custom logic, since we had already placed the database connectivity information in the PASOE appserver configuration properties. It seems to me that the configuration properties should indicate to PASOE that an active connection to the database is a necessary "pre-condition" for the agent to start, and for client's ABL code to run. It seems to me that the responsibilities should lie with PASOE, and that it should destroy sessions which don't continue to have their pre-configured database connection(s). In any case, whether it is up to PASOE or the ABL developer, something needs to be done to recover database connections. Given that it is currently the ABL developer's responsibility (in the context of client/server connections) then there is sample code that you can use to recover your database connections (see here: knowledgebase.progress.com/.../P130271 I hope this helps anyone else having similar issues. If you are already familiar with client/server connections, this is probably old news. To make a long story short, Progress treats "shared memory" connections in a way that will automatically perform "clean up". Whenever you are using "shared memory" connections then Progress will "clean up" all your connected ABL clients. If you are using "client/server" connections then you need to do your own clean up work after the database has been restarted on you.
Continue reading...
Continue reading...