#1  
Old 29th June 2006, 05:48 PM
Christakis John
 
Posts: n/a
Default Releasing nxTrans.cfg

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  
Old 29th June 2006, 05:52 PM
Christakis John
 
Posts: n/a
Default Re: Releasing nxTrans.cfg

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  
Old 29th June 2006, 06:28 PM
Dennis Esmonde-White
 
Posts: n/a
Default Re: Releasing nxTrans.cfg

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  
Old 29th June 2006, 07:01 PM
Thorsten Engler [NDA]
 
Posts: n/a
Default Re: Releasing nxTrans.cfg

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  
Old 29th June 2006, 07:33 PM
Christakis John
 
Posts: n/a
Default Re: Releasing nxTrans.cfg

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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

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


All times are GMT +11. The time now is 12:53 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.