Subject Re: [firebird-support] Joins between tables in two different databases?
Author Helen Borrie
At 02:15 PM 18/04/2006, you wrote:
>G'day all...
>
>I have a requirement for a read-only database (on CD) which has tables
>involved in joins to table(s) held in a read-write database somewhere
>on the hard disk. My existing desktop application uses Paradox under
>the BDE to do this, but I can't seem to find any way of doing this with
>Firebird. Is this possible,

No.

> and, if so, how would I do it? For example,
>could one create views into a different database (a la SQL Server)?

Views in the SQL sense, no. But you can export Paradox files as
fixed-length text records, which Firebird can read as an external
table. I don't know whether an external file accessed from a
Firebird database that is set to be read-only is possible - you can but try.


>I have a bit of experience with Interbase/Firebird but only in a
>straightforward client/server scenario with a read/write database. I
>would very much like to get away from the Paradox/BDE environment and
>start using embedded Firebird ASAP, so any help would be appreciated.

"Embedded Firebird" on Windows is still client/server. It's
"embedded" in the sense that a server instance and a client instance
are rolled together in one DLL. You are still going to need a data
access layer through which your application code passes and receives
requests. That might, at a stretch, be the BDE, although the BDE is
strongly not recommended! If you're sticking with Delphi, it's more
likely to be IB Objects or FIBPlus that you use as this layer.

So - your client/server experience is totally relevant. What
"Embedded" is not is a simulation of DBISAM connectivity, a la
Paradox, Access, etc.

Embedded is a deployment engine. It's between useless and impossible
for development. Develop using the full Superserver, to enable you
to visit the database using development tools like IBExpert, isql,
IB_SQL, or whatever, without shutting down your project in the
IDE. Keep the database read/write throughout development. When
you're ready to **deploy**, that's the time to change the database to
Read-only and to ship it with the embedded engine.

./heLen