At 11:34 AM 5/03/2009, you wrote:
[using a HORRIBLE mail interface!!)

>Firebird 2.1.1.17910 Firebird client 2.1.0.0 I am intentionally triggering a 
>foreign key violation by deleting a parent record. When I do this from 
>Database Workbench I get the message:        Violation of FOREIGN KEY 
>constraint …       >>> Foreign key references are present for the record. <<< 
>When I do this from inside a VS2008 program using FB client I get:      
>Violation of FOREIGN KEY constraint…    >>> No message for error code 
>335544839 <<< I have Googled about the “No message for error code”  which 
>seems to be related to an outdated Firebird.msg file.  The Firebird.msg file 
>that I have has a creation date of ýSeptember ý16, ý2008, þý4:33:23 PM and 
>Database Workbench seems to be able to find it ok. I also searched my HDD and 
>could only find this one Firebird.msg file. The Firebird.msg file is located 
>in "c:\Program Files\Firebird\Firebird_2_1" and the Firebird server exe is 
>located in "c:Program Files\Firebird\Firebird_2_1\bin" Can anyone tell me why 
>FB client cannot find 
the proper message rather than the default one? 

The message codes (SQLCode and ISC code) are passed back to the client API  in 
the error status array.  Also in the array are values to be mapped to 
variables, such as (in this case) the table and column that caused the FK 
violation.  The mapping of the codes to the texts of the messages lives in the 
client library (fbclient.dll).  So - if you are using a client version that is 
too old, i.e., one that was compiled before the particular message 
code/variable/text mapping became applicable, you'll get the "No message for 
error code" exception. 

As a side note (probably not applicable to your immediate problem), if you are 
running the command-line tools locally as a remote client then you need to have 
not just the correct client version but also the correct firebird.msg visible 
to the client dll:  first stop, in a directory immediately above the one where 
fbclient.dll is located;  next stop, in the system path.  "As a remote client" 
includes where you are using TCP/IP local loopback;  or where your client is a 
RDT client, physically local or otherwise.

Helen


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to