dbTalk Databases Forums  

Pervasive 2000i + Terminal Services

comp.databases.btrieve comp.databases.btrieve


Discuss Pervasive 2000i + Terminal Services in the comp.databases.btrieve forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
raffelm
 
Posts: n/a

Default Pervasive 2000i + Terminal Services - 11-16-2004 , 03:11 PM






We attempting to detect, when our program is running in a terminal
services client, if Pervasive is running or not. If Pervasive is
running, our program will exit.

We can detect versions of Pervasive up to release version # 7.90.
But we are not able to detect when Pervasive 2000 SP4 (version 7.94)
is running. And we are looking for some help identifying why we see
two different behaviors, as described below. (We are getting the
database version by calling the function BTRCALL with operation code
of 26).

Installed and running on Windows 2003 Server:

Situation #1:

Pervasive 2000 (version 7.82)
our product with Btrieve 6.15

Result #1:
When we run our product, the version of the database reported back to
our code is 7.82.

Situation #2:

Pervasive 2000 SP4 (version 7.94)
our product with Btrieve 6.15

Result #2:
When we run our product, the version of the database reported back to
our code is 6.15.

Reply With Quote
  #2  
Old   
Gordon
 
Posts: n/a

Default Re: Pervasive 2000i + Terminal Services - 11-18-2004 , 11:00 AM






Where does the Pervasive.SQL 2000 SP2 (version 7.82) come from?

Why I'm asking: The version number you're seeing depends on the
version of the Btrieve API you're calling. Windows tries to locate the
API (in your case either wbtrcall.dll or wbtrv32.dll) by using the
following path:
- startup directory
- executable directory (if different from startup directory)
- Windows system directory (system32 on NT systems)
- system path (PATH environment string)

With Pervasive.SQL 2000, being Windows 2000 compliant, the API should
not be found until the PVSW\BIN directory is searched. This directory
will most definitly never contain a 6.15 version of the API files.
Therefore if you're seeing a 6.15 version and it's not packed within
your own application directory, it has to be that you're installing it
to the Windows system directory. Consequently this destroys database
functionality for the third party application that requires
Pervasive.SQL. Apparently you're only stopped from instaling the older
6.15 when this third party has installed version 7.82 to the Windows
system directory using a non-Pervasive install (e.g. Exact for Windows
does this).


Gordon


On 16 Nov 2004 13:11:53 -0800, matt.raffel (AT) mindspring (DOT) com (raffelm)
wrote:

Quote:
We attempting to detect, when our program is running in a terminal
services client, if Pervasive is running or not. If Pervasive is
running, our program will exit.

We can detect versions of Pervasive up to release version # 7.90.
But we are not able to detect when Pervasive 2000 SP4 (version 7.94)
is running. And we are looking for some help identifying why we see
two different behaviors, as described below. (We are getting the
database version by calling the function BTRCALL with operation code
of 26).

Installed and running on Windows 2003 Server:

Situation #1:

Pervasive 2000 (version 7.82)
our product with Btrieve 6.15

Result #1:
When we run our product, the version of the database reported back to
our code is 7.82.

Situation #2:

Pervasive 2000 SP4 (version 7.94)
our product with Btrieve 6.15

Result #2:
When we run our product, the version of the database reported back to
our code is 6.15.

Gordon Bos
Q-RY Solutions
+31-(0)15-2564035

http://www.q-ry.nl/


Reply With Quote
  #3  
Old   
raffelm
 
Posts: n/a

Default Re: Pervasive 2000i + Terminal Services - 11-22-2004 , 09:18 AM



Gordon,

Thanks for the reply.

In the scenerios mentioned in my orignal post, btrieve 6.15 is
installed in the startup directory of my application. It is not
installed in the windows directories. It seems logical that we should
be always loading the 6.15 dll.

I'm still confused, though, about the version information reported
back to my application. I would expect consistant results: either
always seeing the version as 6.15 (since the dll came from my start up
directory) or always seeing the pervasive version from the server.

I'm seeing both results. Which is confusing.

Thnx
Matt


Gordon <grafzerk (AT) bigfoot (DOT) no.spam.please.com> wrote

Quote:
Where does the Pervasive.SQL 2000 SP2 (version 7.82) come from?

Why I'm asking: The version number you're seeing depends on the
version of the Btrieve API you're calling. Windows tries to locate the
API (in your case either wbtrcall.dll or wbtrv32.dll) by using the
following path:
- startup directory
- executable directory (if different from startup directory)
- Windows system directory (system32 on NT systems)
- system path (PATH environment string)

With Pervasive.SQL 2000, being Windows 2000 compliant, the API should
not be found until the PVSW\BIN directory is searched. This directory
will most definitly never contain a 6.15 version of the API files.
Therefore if you're seeing a 6.15 version and it's not packed within
your own application directory, it has to be that you're installing it
to the Windows system directory. Consequently this destroys database
functionality for the third party application that requires
Pervasive.SQL. Apparently you're only stopped from instaling the older
6.15 when this third party has installed version 7.82 to the Windows
system directory using a non-Pervasive install (e.g. Exact for Windows
does this).


Gordon



Reply With Quote
Reply




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



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.