Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread Negative connected sessions?
Mon, Jun 16 2008 2:18 PMPermanent Link

George Feamster
I'm working with the basic free 5 user server DBISAM 4.26 bld 3.  I'm finding that I have =-2 sessions when no one is logged in and -1 sessions
when 1 user is logged in?  I'm usiing getremoteconnectedsessions to see if I can wipe out a necessary table before repopulating it.  I'm getting
back these negative numbers.  So how can the server get out of sync?  Why wouldn't you check for negative numbers after decrementing?  Am I
missing something?  Just started looking at DBISAM server for a client.  Already have a full application for them in DBISAM non C/S and they are
looking at going C/S for a couple of locations.
Mon, Jun 16 2008 6:18 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< I'm working with the basic free 5 user server DBISAM 4.26 bld 3.  I'm
finding that I have =-2 sessions when no one is logged in and -1 sessions
when 1 user is logged in?  I'm usiing getremoteconnectedsessions to see if I
can wipe out a necessary table before repopulating it.  I'm getting back
these negative numbers.  So how can the server get out of sync?  >>

Frankly, I have no idea how that managed to occur.  All session
connections/disconnections are managed through a single point that handles
the increments/decrements, and I just spent quite a while trying to get what
you describe to occur, and I can't seem to do so.  I've tried hitting the 5
session limit, letting session's disconnect and expire, etc. and the session
counts always stay in check.  Are you using 4.26 B3 in the application also
?  Also, did you manually disconnect or remove any server sessions using the
Server Administration Utility ?

<< Why wouldn't you check for negative numbers after decrementing? >>

Because there normally isn't any need - this has all been tested extensively
here and it simply always works in our tests.

--
Tim Young
Elevate Software
www.elevatesoft.com

Mon, Jun 16 2008 8:56 PMPermanent Link

George Feamster
Seems to me I did remove a couple of sessions manually in the administration program but I think I have since rebooted the computer.  I'm doing
all sorts of things as I learn how to use this.  If I come up with something that's reproducible I'll let you know.

Appreciate the time to investigae this.  I'll try to talk the client into springing for the Dbisam C/S (with source of course).

While not really on topic, why would I want to change to ElevateDB for this project instead?  I have the single user 1.0 non source version but
haven't really seen anything that compells me to upgrade.  Anywhere that there is a pro/con reason for this?  No question that anything that you
guys produce is top quality but not sure if this close to release (maybe 1 month)  it would be safe.





"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

George,

<< I'm working with the basic free 5 user server DBISAM 4.26 bld 3.  I'm
finding that I have =-2 sessions when no one is logged in and -1 sessions
when 1 user is logged in?  I'm usiing getremoteconnectedsessions to see if I
can wipe out a necessary table before repopulating it.  I'm getting back
these negative numbers.  So how can the server get out of sync?  >>

Frankly, I have no idea how that managed to occur.  All session
connections/disconnections are managed through a single point that handles
the increments/decrements, and I just spent quite a while trying to get what
you describe to occur, and I can't seem to do so.  I've tried hitting the 5
session limit, letting session's disconnect and expire, etc. and the session
counts always stay in check.  Are you using 4.26 B3 in the application also
?  Also, did you manually disconnect or remove any server sessions using the
Server Administration Utility ?

<< Why wouldn't you check for negative numbers after decrementing? >>

Because there normally isn't any need - this has all been tested extensively
here and it simply always works in our tests.

--
Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 17 2008 8:56 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< Seems to me I did remove a couple of sessions manually in the
administration program but I think I have since rebooted the computer.  I'm
doing all sorts of things as I learn how to use this.  If I come up with
something that's reproducible I'll let you know. >>

Thanks, that would be very much appreciated.  As you indicated, it doesn't
look good when weird things like that happen.

<< Appreciate the time to investigae this.  I'll try to talk the client into
springing for the Dbisam C/S (with source of course). >>

That is always appreciated. Smiley

<< While not really on topic, why would I want to change to ElevateDB for
this project instead?  I have the single user 1.0 non source version but
haven't really seen anything that compells me to upgrade.  Anywhere that
there is a pro/con reason for this? >>

Well, ElevateDB does offer the following:

- Both local and remote session performance improvements:

-- Updates on tables with a lot of indexes are faster
-- Query optimizer is smarter - LIKE with wildcards at the beginning of an
expression can be optimized, as well as wildcards at the beginning of text
index searches using the new CONTAINS/DOES NOT CONTAIN operator
-- BLOB handling is much faster
-- Text indexing is faster
-- Repair is much faster
-- Navigation with a remote session is much faster due to a new
bi-directional cache on the client

- A *lot* better SQL implementation with the ability to accomplish most
database tasks with SQL-based triggers, scripts, procedures, functions, and
jobs that previously required native Delphi code in DBISAM.  This does
wonders for the maintainability of your applications because you can truly
separate out the database tasks from the rest.  You can see an example of
this here in one of our technical articles:

http://www.elevatesoft.com/articles?action=view&articleno=1

Plus, there's much better support for things like derived tables (SELECT
FROM (SELECT...) and sub-queries (can be used just like any single column
value, including in the SELECT columns list.

There's also cool things like being able to refresh canned result sets (EDB
calls them insensitive result sets), paginated and incremental result set
population via the RANGE clause, and being able to use expressions in the
ORDER BY and GROUP BY clauses that aren't in the SELECT columns list.

- Built-in user security with users and roles for both local and server
apps, so you can prototype a C/S application as a local application and then
move it to an ElevateDB Server without changing a thing

- System information tables that allow you query *any* information in an
ElevateDB database:

http://www.elevatesoft.com/manual?action=mancat&id=edb2sql&category=3

- And, of course, with ElevateDB 2.0 there's now support for stores, which
are essentially virtual storage areas that you can use to move files between
various locations and is the basis for the new replication capabilities in
2.0.  I'll have another technical article on this up today on the main page,
so check it out.  It's pretty cool because it shows you how to set up a
complete bi-directional replication system in 12 steps.

And that's really just the beginning - you can do other cool stuff like
using the stores to distribute new copies of your application to all of your
customers.  Your application can literally define a remote store that
transparently logs into a remote ElevateDB Server and allows you to copy a
new version of your application from the remote ElevateDB Server down to a
local store.  You can then install the new version using your existing
application.  There's really no limit to what you can do with the stores
functionality, and the beauty of it is that it exists outside of the
operating system mappings, etc. so you don't have to worry about somebody
screwing around with it and breaking it.  Furthermore, the stores are
privileged so you can specify who has the rights to list files, copy files,
rename files, delete files, etc.

<< No question that anything that you guys produce is top quality but not
sure if this close to release (maybe 1 month)  it would be safe. >>

The core of ElevateDB is really solid.  It's been around for a year now and
we run it through some pretty extensive testing for every build or release.
However, getting up and running on ElevateDB in 1 month is probably not
something you can count on, and would probably end up just frustrating you.
There are some differences from DBISAM that are best learned at your own
pace without the stress of a release date.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jun 17 2008 9:06 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim



>And that's really just the beginning - you can do other cool stuff like
>using the stores to distribute new copies of your application to all of your
>customers. Your application can literally define a remote store that
>transparently logs into a remote ElevateDB Server and allows you to copy a
>new version of your application from the remote ElevateDB Server down to a
>local store. You can then install the new version using your existing
>application.

Sorry to butt in but how does it manage that?  Does it need a reeboot or can it do it on the fly?

Roy Lambert
Tue, Jun 17 2008 10:06 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< Sorry to butt in but how does it manage that? Does it need a reeboot or
can it do it on the fly? >>

The actual process of updating the .exe is kind of outside the scope of
ElevateDB, but here is a discussion by Marco Cantu on this:

http://blog.marcocantu.com/blog/auto_updating_programs.html

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jun 17 2008 10:46 AMPermanent Link

George Feamster
Is there anything in ElevateDB that automates the update of tables to the new version.  Right now I use Contextsoft's Schema component that can
import the current structure and then when the program runs I can RestructureFromSchema and it will add the required fields without requiring
specific SQL commands that are hand coded.  Seems like a trivial amount of coding but one less thing for me to screw up. Smile
Tue, Jun 17 2008 11:49 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< Is there anything in ElevateDB that automates the update of tables to the
new version. >>

No, we usually tend to leave that to the developer due to the inherent
difficulties in automating something like that.  Sometimes there is missing
information that the automation can't possibly know, such as when a column
is altered vs. dropped and re-added.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image