I am having trouble with D5 and Midas where the server becomes unresponsive when attempt to open the 2nd Oracle session on the server.
I have set up the remote data modules (RDM) to be multi-instance, apartment threaded. I have set up a base RDM on which I have placed an TOracleSession component.
From this base RDM, I derive about ten RDMs for the various modules in the application.
Two problems that appear to be the same problem occur:
1) A particular client has trouble with utilizing multiple RDMs at once. When I try to execute SQL commands with two RDMs instantiated for a client, the second RDM invariably locks up when it makes a call to TOracleQuery.Execute or TOracleDataSet.ExecSQL;
2) Two different client executables cannot log into the same app server. The first client logs in with no problem and functions correctly, but when left up and attempting to log in with a 2nd client from the same machine, I get exception errors at client app startup and the 2nd instance fails to launch.
When launching the 2nd client instance from another machine, it simply waits until the first client instance is shutdown, then the 2nd instance becomes responsive and functions correctly.
I have not touched the threading properties as I interpreted the documentation to say that when each Oracle Session is housed entirely within a thread, two sessions (each in a different thread) will not interfere with each other. I have effectively caused the sessions to be in their own threads by placing them on the RDMs, so I'm curious as to whether the sessions may be interfering with each other because they have the same object name...this speculation comes from reading about Borland's TSession and the AutoSessionName property in on-line help.
I have set up the remote data modules (RDM) to be multi-instance, apartment threaded. I have set up a base RDM on which I have placed an TOracleSession component.
From this base RDM, I derive about ten RDMs for the various modules in the application.
Two problems that appear to be the same problem occur:
1) A particular client has trouble with utilizing multiple RDMs at once. When I try to execute SQL commands with two RDMs instantiated for a client, the second RDM invariably locks up when it makes a call to TOracleQuery.Execute or TOracleDataSet.ExecSQL;
2) Two different client executables cannot log into the same app server. The first client logs in with no problem and functions correctly, but when left up and attempting to log in with a 2nd client from the same machine, I get exception errors at client app startup and the 2nd instance fails to launch.
When launching the 2nd client instance from another machine, it simply waits until the first client instance is shutdown, then the 2nd instance becomes responsive and functions correctly.
I have not touched the threading properties as I interpreted the documentation to say that when each Oracle Session is housed entirely within a thread, two sessions (each in a different thread) will not interfere with each other. I have effectively caused the sessions to be in their own threads by placing them on the RDMs, so I'm curious as to whether the sessions may be interfering with each other because they have the same object name...this speculation comes from reading about Borland's TSession and the AutoSessionName property in on-line help.