Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 27 total
Thread Newbie to DBISAM - getting started?
Sat, Apr 8 2006 11:04 AMPermanent Link

"Lauchlan M"
Hi

I have used MS SQL Server, NexusDB, etc and need to get going with DBISAM
quickly for work.

I am wondering if someone could give me a quick conceptual overview (or
point me towards documents that do same).

I notice that the components are roughly similar to Nexus - table/query,
session, database, engine, etc - so that part should be fine once I work out
which properties are required (presumably a path or alias?).

What I am more confused by is how to use the equivalent of NexusDB's
'Enterprise Manager' tool to create the databasaes and tables, and run the
server (in the c/s app).

As I see it, I have two tools - dbsys and servadmin.

I see that dbsys lets me create tables, but it's not clear how to
create/define databases. The tool by default seems to create the tables in
memory.

On the other hand, servadmin lets me work with servers (databases?), but
apparently not create or edit databases or tables.

Also, Nexus has client/server and embedded - what are the DBOSAM
equivalents?

If someone (particularly someone familiar with Nexus and how to move from
nxdb to dbisam) could give me some 'getting started' orientational pointers,
it would be appreciated . . .

Thanks!

Lauchlan M

Sat, Apr 8 2006 11:51 AMPermanent Link

"Scott Martin"
Lauchlan,

Please have a look at DBi-Desktop.
http://www.senderosoftware.com/index.asp?a=products&pid=2&tfi=Main

I have also replied to some of your questions below.
I can give you more detail if you email me direct... pics.. etc.

scottmartin _at_ pdq _dot_ net

Regards,
Scott Martin
Sendero Software

"Lauchlan M" <LMackinnon@Hotmail.com> wrote in message news:BE23FB27-1605-4EA5-A519-D7E104FD8B33@news.elevatesoft.com...
> Hi

> As I see it, I have two tools - dbsys and servadmin.

> I see that dbsys lets me create tables, but it's not clear how to
> create/define databases. The tool by default seems to create the tables in
> memory.

dbsys:
On creating a table, once you defined the structure, you get a dialog
on where to save the table. Enter/select the path ni the 'Available Database'
editor. Enter the table name in 'Create As' editor.

> On the other hand, servadmin lets me work with servers (databases?), but
> apparently not create or edit databases or tables.

In Server Admin, you define the database aliases, etc ... and the users for the database,
but tables are handled in dbsys. You would connect to the server using dbsys and
once your are connected, the tables will be created based on your connection
info.

>
> Also, Nexus has client/server and embedded - what are the DBOSAM
> equivalents?

You simply direct the session to use stLocal or stRemote to denote if connecting
to a local table or a remote server.

> If someone (particularly someone familiar with Nexus and how to move from
> nxdb to dbisam) could give me some 'getting started' orientational pointers,
> it would be appreciated . . .
>
> Thanks!
>
> Lauchlan M
>
>

Sat, Apr 8 2006 12:13 PMPermanent Link

"David Farrell-Garcia"
Lauchlan M wrote:

> I have used MS SQL Server, NexusDB, etc and need to get going with
> DBISAM quickly for work.

Have a look at the Context Extensions: http://www.contextsoft.com/.  If
you use it for nothing other then the Context Designer you won't be
disappointed.  You can quickly diagram your tables, then generate the
tables automatically, and even have it update the tables at rurntimne
if there have been any schema changes. I don't know of an easier way to
build and maintain your database schema.

Similar to NexusDB (I imagine) you do not have to change any code to
move from local to C/S mode.  The engine compiles into the client
application so all you have to do is connect to the server (Context
also has a nice connection component that simplifies runtime connection
to local, LAN or WAN databases.  The engine supports both Triggers and
server side procedures.  While you do not explicitly have to add a
Session component to your client application if you are not doing C/S,
I recommend that you do so that you can use the same code for both C/S
and local.  DBISAM now supports Cached updates and TProvider support. I
use the latter for my current application and is working superbly.

The utility tools you mentioned includes the source code but there are
also  several 3rd party utilties that are quite good.

While some may find the build-cyle to be an annoyance, I must say I
greatly appreciate it.  If a critical bug is discoveed you can couunt
on a new buld, usually within a few days.  I have found the product to
be very stable, the support best in class and the newsgroup to be
invaluable.  The doucmentation is also quite complete and is updated as
required.

Coming from NexusDB, I would think you will find the learning curve to
be quite acceptable.

Did I mention that a Kylix version is also availabe for Linux?    
Sat, Apr 8 2006 12:30 PMPermanent Link

"Lauchlan M"
> Please have a look at DBi-Desktop.
> http://www.senderosoftware.com/index.asp?a=products&pid=2&tfi=Main

Downloaded, will look at it.

> I have also replied to some of your questions below.
> I can give you more detail if you email me direct... pics.. etc.
>
> scottmartin _at_ pdq _dot_ net

> > As I see it, I have two tools - dbsys and servadmin.
>
> > I see that dbsys lets me create tables, but it's not clear how to
> > create/define databases. The tool by default seems to create the tables
in
> > memory.
>
> dbsys:
> On creating a table, once you defined the structure, you get a dialog
> on where to save the table. Enter/select the path ni the 'Available
Database'
> editor. Enter the table name in 'Create As' editor.

ok, got that. So conceptually, there are mutiple tables with one file per
table, and the database is defined by the folder the files are put in (like
in NexusDB)?

>  > On the other hand, servadmin lets me work with servers (databases?),
but
> > apparently not create or edit databases or tables.
>
> In Server Admin, you define the database aliases, etc ... and the users
for the database,
> but tables are handled in dbsys. You would connect to the server using
dbsys and
> once your are connected, the tables will be created based on your
connection
> info.

I don't quite follow this. When I try to connect in servadmin it seems to
not let me log in (error# 11280 - cannot connect to database server
127.0.0.1).

But then again, this could be a network thing. I'm running it inside a VM.
I'll look into it . . .

> > Also, Nexus has client/server and embedded - what are the DBOSAM
> > equivalents?
>
> You simply direct the session to use stLocal or stRemote to denote if
connecting
> to a local table or a remote server.

ok.

Thanks for your help.

Lauchlan M

Sat, Apr 8 2006 12:52 PMPermanent Link

"Lauchlan M"
>  > On the other hand, servadmin lets me work with servers (databases?),
but
> > apparently not create or edit databases or tables.
>
> In Server Admin, you define the database aliases, etc ... and the users
for the database,
> but tables are handled in dbsys.

In nexus, either you run the server for a C/S app, or you include a
component that embeds the server for an embedded app.

Here, I assume similar applies: In either case (embedded or C/S) you'd need
a server running?

The ServAdmin seems to have options for connecting to a remote server such
as IP, port, service, host name etc, which tends to suggest it is mainly for
connecting to remote servers and is probably intended to work in a similar
way to the nexus server . . . but I don't see any way to configure users,
security, etc in it . . .

What constitutes starting the server? Does running ServAdmin do this, or is
the server run automatically as a service (once it's installed), or does it
happen programatically via the components? Does the dbsys have an embedded
server, or does it need/use servadmin?

Thx

Lauchlan M


Sat, Apr 8 2006 4:45 PMPermanent Link

"David Farrell-Garcia"
Lauchlan M wrote:

> ok, got that. So conceptually, there are mutiple tables with one file
> per table, and the database is defined by the folder the files are
> put in (like in NexusDB)?

Yes, except there may be more then one file per table as index and blob
files are stored in separate files.


> I don't quite follow this. When I try to connect in servadmin it
> seems to not let me log in (error# 11280 - cannot connect to database
> server 127.0.0.1).
> But then again, this could be a network thing. I'm running it inside
> a VM.  I'll look into it . . .

I assume that you have the Dbisam server running on a server and are
trying to connect from a client.  If you have a firewall you will need
to forward two ports, one for admin connections and one for regular
user connnections.  I think the defaults are 2005 and 2006 but I don't
remember for sure since I don't use the defaults. Then you need to go
to the Configure menu of Server Admin (running on client) and set the
server connection.  I simply use the Server Name.  After that is done
you can log in with the default log in of admin / DBAdmin.

Sat, Apr 8 2006 4:51 PMPermanent Link

"David Farrell-Garcia"
Lauchlan M wrote:

> In nexus, either you run the server for a C/S app, or you include a
> component that embeds the server for an embedded app.

same with Dbisam.


>
> Here, I assume similar applies: In either case (embedded or C/S)
> you'd need a server running?

nope. for embedded, if you are connecting locally you do not need to
run a Dbisam Server. Then Engine is embedded. If you want to access
somne of hte Engine properties yourself (not requried) you can drop a
DbisamEngine compoonent on your form and set as local rather then
remote type.

>
> The ServAdmin seems to have options for connecting to a remote server
> such as IP, port, service, host name etc, which tends to suggest it
> is mainly for connecting to remote servers and is probably intended
> to work in a similar way to the nexus server . . . but I don't see
> any way to configure users, security, etc in it . . .

Once you log in click on the DATABASE USERS tab.  You then setup
Aliases to your database(s) and then add users that you have already
defined to that database.


>
> What constitutes starting the server? Does running ServAdmin do this,
> or is the server run automatically as a service (once it's
> installed), or does it happen programatically via the components?
> Does the dbsys have an embedded server, or does it need/use servadmin?
>

Either way. If run as a service and you have the service configured to
start automatically the server will start up.  You can stop and start
the server from the server icon running on your server taskbar or
remotely from anywhere (LAN or WAN) using the server admin utility.
Sat, Apr 8 2006 4:51 PMPermanent Link

"Scott Martin"
>
> In nexus, either you run the server for a C/S app, or you include a
> component that embeds the server for an embedded app.

> Here, I assume similar applies: In either case (embedded or C/S) you'd need
> a server running?

You only need a server running if you are using a C/S approach.
If you are using a local, then you simply open the table using TDBISAMTable or TDBISAMQuery.

> The ServAdmin seems to have options for connecting to a remote server such
> as IP, port, service, host name etc, which tends to suggest it is mainly for
> connecting to remote servers and is probably intended to work in a similar
> way to the nexus server . . . but I don't see any way to configure users,
> security, etc in it . . .

The ServerAdmin will have tabs to Add/Update Database, Users, Database Users.. etc
once you are connected to the Server. Until then, you have a very menu of Option/Connect.

I think the confusion may be that NexusDB allows you to do this all on the server.
DBISAM allows this through ServerAdmin after you are connect.

> What constitutes starting the server? Does running ServAdmin do this, or is
> the server run automatically as a service (once it's installed), or does it
> happen programatically via the components? Does the dbsys have an embedded
> server, or does it need/use servadmin?

Running the server is dbsrvr.exe, ServerAdmin is simply a utility to connect to the DBISAM server.
dbsrvr /install for a service.

dbsrvr.exe ; DBISAM server
ServerAdmin; Admin util for DBISAM server
dbsys; DB manager

Regards,
Scott.

> Thx
>
> Lauchlan M
>
>
>

Sat, Apr 8 2006 4:54 PMPermanent Link

"Scott Martin"

> ok, got that. So conceptually, there are mutiple tables with one file per
> table, and the database is defined by the folder the files are put in (like
> in NexusDB)?

Correct, but the files are:
table.DAT, table.IDX, table.BLB  Data/Index/Blob

>>  > On the other hand, servadmin lets me work with servers (databases?),
> but
>> > apparently not create or edit databases or tables.
>>
>> In Server Admin, you define the database aliases, etc ... and the users
> for the database,
>> but tables are handled in dbsys. You would connect to the server using
> dbsys and
>> once your are connected, the tables will be created based on your
> connection
>> info.
>
> I don't quite follow this. When I try to connect in servadmin it seems to
> not let me log in (error# 11280 - cannot connect to database server
> 127.0.0.1).

Silly question, do you have the actual server running? dbsrvr.exe?

Regards,
Scott.

Sat, Apr 8 2006 11:30 PMPermanent Link

"Lauchlan M"
> > ok, got that. So conceptually, there are mutiple tables with one file
> > per table, and the database is defined by the folder the files are
> > put in (like in NexusDB)?
>
> Yes, except there may be more then one file per table as index and blob
> files are stored in separate files.

Ta, that makes sense.

> > I don't quite follow this. When I try to connect in servadmin it
> > seems to not let me log in (error# 11280 - cannot connect to database
> > server 127.0.0.1).
> > But then again, this could be a network thing. I'm running it inside
> > a VM.  I'll look into it . . .
>
> I assume that you have the Dbisam server running on a server and are
> trying to connect from a client.  If you have a firewall you will need
> to forward two ports, one for admin connections and one for regular
> user connnections.  I think the defaults are 2005 and 2006 but I don't
> remember for sure since I don't use the defaults. Then you need to go
> to the Configure menu of Server Admin (running on client) and set the
> server connection.  I simply use the Server Name.  After that is done
> you can log in with the default log in of admin / DBAdmin.

At the moment, this is all on the same PC. I was wanting to run either with
an embedded connection or (in the case I was using the server) with the
server and client on the same machine.

Thx

Lauchlan M

Page 1 of 3Next Page »
Jump to Page:  1 2 3
Image