Subject Re: [ib-support] Networking with IBX (Delphi)
Author Woody
Wayne,

>
> I have developed an application using IBX on a standalone computer.
> The client is using Win NT and the app works great at the moment.
> Just to make sure that I have my facts straight, could someone please
> verify I am on the right track.
> I have used an IBDatabase component, IBRestoreService,
> IBBackupService, IBValidationService, & IBSecurityService.
>

So far, so good.

> As I understand, these would be my steps:
>
> 1. Install IBServer on the Server.
>

Yes.

> 2. Uninstall IBServer on the workstation(s) and install IBClient on
> them.
>

Yes. (Although, having a local IB server(s) doesn't cause any problems with
the main server.)

> 3. Place the database on the server and register it with IBConsole.
>

Yes.

> 4. My IBDatabase, DatabaseName property will be:=
> ServerName:G\whatever\whatever\database.gdb
>

If you are using TCP as connection protocol. If you use NetBEUI the syntax
is Servername\G\whatever\whatever\database.gdb.

> 5.For IBRestoreService, IBBackupService, IBValidationService, &
> IBSecurityService, databaseName is the path on the server, ServerName
> is the ServerName and Protocol will be either (Named Pipe, SPX or TCP)
>
> Therefore If I Receive the ServerName, DatabaseDirectory and Protocol
> from the clients IT department, the rest is straight forward?
>

Yes. Not only that, but you can code it in such a way as to switch
dynamically between the main server and a local server for testing which is
what I do. I read the server name and database path from an INI file. If the
server name is blank, I connect locally using this code:

if rData.ibServer <> '' then begin
ibMain.DatabaseName := rData.ibServer + ':' + CheckSlash(rData.ibData) +
'MyData.gdb';
end else begin
ibMain.DatabaseName := CheckSlash(rData.ibData) + 'MyData.gdb';
end;

This allows me to switch back and forth easily with no other conversions.
(Checkslash is a function of mine that I use to always make sure I have an
ending slash on a path).

> What complications can I expect along the way?

One of the main things you will find, or maybe not depending on your network
now, is that if you have any flaky NICs or connections in a workstation, you
will notice the infamous INET ERROR 10054 in the IB log. IB is more
susceptible to network errors and traffic than most other RDBMS that I've
seen but is stable none-the-less.

>
> Does a server always have a name, can it not just have a path like, C
> Drive is local, G,H & I drives are server drives for example?
>

You can not use network paths to connect to a database. You must use the
local path for the machine it resides on and you always need the server name
if it's not a local machine.


HTH
Woody