Bob,

 

I believe that if you are running Client / Server that R:BASE takes over the 
file access, completely bypassing Windows services, so Windows has no way to 
know the files are open.

 

I’d still lean toward on-demand connections.

 

Emmitt Dove

Manager, Converting Applications Development

Evergreen Packaging, Inc.

[email protected]

(203) 214-5683 m

(203) 643-8022 o

(203) 643-8086 f

[email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of 
[email protected]
Sent: Monday, June 08, 2009 6:29 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: DSN question

 

Thanks Emmitt,

 I too am leaning towards "connecting / disconnecting" the ODBC data source on 
the fly.  Often some of my users

are in the application all day long, but may not use the ODBC data source but 
once or twice.  Others use the ODBC

tables very frequently.

 

The "Odd" thing about my foreign database is, that Windows Server 2003 does not 
show any open files to this

foreign database via the Manage/Open Files screen.  This is a client /server 
database so I guess the clients never actually

open the server files.  So I am unsure how leaving an ODBC connection open all 
day is going to effect the system.

Windows Server shows the four Rbase files open by the users, but never any 
files from the foreign data base.  Again,

I must assume this is due to the client/server relationship and not the ODBC 
connection.

 

Some of these users are running the Rbase app over a wireless network 
connection.  Although I never seem to have

any issues with dropped connections in my Rbase app, I am wondering if the ODBC 
connection, not being used for

some time, gets cached off on the server or hibernates after some period of 
time and then the wireless causes some issue.

 

I have definitely tracked my intermittent problem to the foreign ODBC locking 
up, but have not found the reason why it is doing so.  I will try the 
SConnect/SDisconnect "on the fly" and see if that helps any.

 

Thanks again,

-Bob




----- Original Message -----
From: "Emmitt Dove" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Monday, June 8, 2009 1:54:39 PM GMT -06:00 US/Canada Central
Subject: [RBASE-L] - RE: DSN question

Bob,

 

In 6.5 we had to leave the SCONNECT in place since you couldn’t use it in an 
eep.  In 7.x, I adopted the practice of performing the SCONNECT right before it 
is required and SDISCONNECT immediately afterwards.  My thinking is that 
leaving fewer files open minimizes the opportunity for corruption.

 

As Buddy noted in an earlier exchange, once the SATTACH is performed (and part 
of your schema), any access of the table will (apparently) perform the SCONNECT 
without you having to explicitly issue it.  I’m not sure we should depend on 
this always being true, and it also begs the question as to whether the 
database remains open for the balance of the user’s session.  I just performed 
a test, watching Open Files in Computer Management on the server, and it 
appears that the referenced database remains open until the user leaves R:BASE.

 

Emmitt Dove

Manager, Converting Applications Development

Evergreen Packaging, Inc.

[email protected]

(203) 214-5683 m

(203) 643-8022 o

(203) 643-8086 f

[email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of 
[email protected]
Sent: Monday, June 08, 2009 2:32 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - DSN question

 

Almost all of my apps tie in with other software databases.  The question

I have :

 

A) is it best to SConnect right before I use an ODBC table and then SDisconnect

immediately afterwards or

 

B) SConnect at the begining of a session and leave connected until the user 
logs off.

 

Note that these apps may have 20 users running the Rbase app at a time, all day 
long and thus

have 20 ODBC connections to the foreign database open as well.    The ODBC 
tables

will get accessed, depending on which menu option is being run, from only 
occasionally during the

day to rather frequently.  Such as every 10 minutes or so.

 

I currently have the apps setup to SConnect at startup of the main Menu and 
stay connected all

day or until the Main Menu is closed.  However, I have been running into issues 
with the foreign ODBC 

engine locking up occasionally. The only major change in the system is that 
more people are 

concurrently using my app and thus more  connections to the ODBC driver on the 
server.  

(Plenty of memory etc. so that should not be an issue)

 

I am wondering if SConnecting and SDisconnecting "on the fly" would be a better 
practice or not?

I.E. Leave all DSN sources "unconnected" until an ODBC table is needed, 
SConnect, use the table

data, then SDisconnect immediately afterwards.

 

Any thoughts?

 

Thanks,

-Bob

Reply via email to