Subject Re: Having error when using Embedded, not full server
Author Adam
--- In, Chuck Belanger
<phytotech@...> wrote:
> Hello:
> This is a real head scratcher:
> I'm developing a Win desktop system which has been using FB 1.54
> embedded in the installed base, but for my development in Delphi IDE
> (7.0) been using the full server.
> A few weeks ago started hearing from the testers that they were getting
> "RI_ID is a required field" error, when doing simple access of a tree
> node.

Unless you are being extremely liberal with quotations, the message
"??? is a required field" does not seem to exist in Firebird.msg. That
should be a hint to check your Delphi code. Also check your SQL inside
your Delphi components to make sure you are actually selecting the
RI_ID field, and it is not just your componentset expecting a value
from a field you did not select. You may be able to use assertions to
prove it is not left null.

RI_ID is the PK of the Registry Items table and I am getting that
> value from the tree node's data record which I then look up the record
> in the table via a parameterized SQL SELECT statement. All basic stuff.

"All basic stuff" <-- dangerous words ;)

Sometimes the basic stuff hides the glaringly obvious bugs.

In terms of differences between embedded and full server, providing
you are using the same Firebird version, it is a dead end to look at
differences between the two. It is the same code executing in both,
the only difference from the application's perspective is that the
embedded needs a local path as a connection string where the full
server would probably be setup as a TCP connection. There are some
implications in terms of security etc, but they are probably not
relevant. By the time you are connected and running queries, there is
no difference in behaviour of any of the engines of a particular version.