Subject | Re: Having error when using Embedded, not full server |
---|---|
Author | Adam |
Post date | 2007-08-23T23:37:16Z |
--- In firebird-support@yahoogroups.com, Chuck Belanger
<phytotech@...> wrote:
"??? 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
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.
Adam
<phytotech@...> wrote:
>Unless you are being extremely liberal with quotations, the message
> 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.
"??? 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"All basic stuff" <-- dangerous words ;)
> in the table via a parameterized SQL SELECT statement. All basic stuff.
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.
Adam