|
Log in | ||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Hi,
I have a DataModule with 4 nexus objects on it: TnxWinsockTransport, TnxRemoteServerEngine, TnxSession and TnxDatabase. The transport connects to a remote server, the RSE object connects to the transport, the session is given an aliasname (that exists on the server) and the database uses the session. Then I create a TnxTable or TnxQuery and point it to the Database and everything works great. Now, rather than creating these static Session and Database objects, I want to create them dynamically and store them in a memory array. I can do that and they work fine, but... the nxTrans.cfg file being created is not being released when the client objects are destroyed - the server is holding the file open. Is there a way I can tell the server to release that file? I am creating a session with an AliasPath. When I use the static controls, the server releases the file and so I suspect that the static controls run something when they close that my dynamic objects are not running. I have created a close and cleanup routine that .CLOSEs all the objects and .FREEs them from my dynamic array, but that's not enough. tia, cj |
|
#2
|
|||
|
|||
|
hmmm, as usual I work on a problem for a couple of hours, then post out of
desperation and then turn off a little server-side setting like 'Close Inactive Folders' not really knowing what it'll do and it fixes my problem! :| ta, cj |
|
#3
|
|||
|
|||
|
Before TnxSession.Free execute the
TnxSession.CloseInactiveTables and TnxSession.CloseInactiveFolders methods. Then you won't have to worry about the check box being checked at the server. Christakis John wrote: > Hi, > > I have a DataModule with 4 nexus objects on it: TnxWinsockTransport, > TnxRemoteServerEngine, TnxSession and TnxDatabase. The transport connects > to a remote server, the RSE object connects to the transport, the session is > given an aliasname (that exists on the server) and the database uses the > session. Then I create a TnxTable or TnxQuery and point it to the Database > and everything works great. > > Now, rather than creating these static Session and Database objects, I want > to create them dynamically and store them in a memory array. I can do that > and they work fine, but... the nxTrans.cfg file being created is not being > released when the client objects are destroyed - the server is holding the > file open. Is there a way I can tell the server to release that file? I am > creating a session with an AliasPath. > > When I use the static controls, the server releases the file and so I > suspect that the static controls run something when they close that my > dynamic objects are not running. I have created a close and cleanup routine > that .CLOSEs all the objects and .FREEs them from my dynamic array, but > that's not enough. > > tia, > cj > > > |
|
#4
|
|||
|
|||
|
Dennis Esmonde-White wrote:
> Before TnxSession.Free execute the > TnxSession.CloseInactiveTables and > TnxSession.CloseInactiveFolders methods. > > Then you won't have to worry about the check box being checked at the > server. Just FYI, when "inactive tables" get closed that also means that all pages stored in the buffer manager for these tables get freed. So if the particular table is used again later all the data will have to be read in again. So calling the above functions in situations when you NEED to release table files or the nxTrans.cfg file is ok.. but setting the flags in the server that ALWAYS close inactive tables and folder can have a very noticable negative performance impact. Cheers, Thorsten |
|
#5
|
|||
|
|||
|
ahh, thanks
cj "Thorsten Engler [NDA]" <thorsten.engler@NOSPAMnexusdb.com> wrote in message news:44a38848@wic040d.... > Dennis Esmonde-White wrote: > > Before TnxSession.Free execute the > > TnxSession.CloseInactiveTables and > > TnxSession.CloseInactiveFolders methods. > > > > Then you won't have to worry about the check box being checked at the > > server. > > Just FYI, when "inactive tables" get closed that also means that all > pages stored in the buffer manager for these tables get freed. So if the > particular table is used again later all the data will have to be read > in again. So calling the above functions in situations when you NEED to > release table files or the nxTrans.cfg file is ok.. but setting the > flags in the server that ALWAYS close inactive tables and folder can > have a very noticable negative performance impact. > > Cheers, > Thorsten |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| renaming nxtrans.cfg | Chris de Gelder | nexusdb.public.support | 6 | 23rd February 2006 11:02 PM |
| nxTrans.cfg | Ian Peck | nexusdb.public.support | 8 | 22nd July 2004 09:41 PM |
| Best way of closing/releasing all tables-imbedded server | Tony Peppercorn | nexusdb.public.support | 4 | 29th May 2004 11:25 AM |
| nxTrans.cfg and alias mod | Tor Tveitane | nexusdb.public.support | 2 | 3rd December 2003 04:50 PM |
| nxTrans.cfg RC6 | Richard Wilson | nexusdb.public.support | 4 | 3rd September 2003 02:02 AM |