Subject | Re: Ambiguous field names in selection statement errors on 2.5.1 |
---|---|
Author | cantak3 |
Post date | 2013-02-06T14:25:55Z |
> Just to eliminate an extraneous cause, try the full disambiguating syntax:This works fine. It's only when I select "*" or I select "f.*, a1.*, a2.*" that it fails.
>
> select f.*
> from first_table f
> left join ambiguous_fields_table1 a1 on f.foo = a1.bar
> left join ambiguous_fields_table2 a2 on f.foo = a2.bar
> In any case, look at the Firebird and system logs for clues to the lead-up to the network [mis]behaviour; and check that your temp space is configured, available (permissions?) and adequate.The firebird log typically shows a 10054 error at this point, but not always. There are no network issues; and I can bring back a MASSIVE dataset without error. The result of this dataset is only one row, though it is around a hundred fields.
> Check also that the total length of the statement that the *server* receives (with all parameters replaced by their argument values) is less than the 64KB limit. Count whitespace and CR/LFs.The statement is very small, around 1k or 2k in size. Also, this DOES work on most of the computers. Only two clients do not work.
We have verified the client DLL is the same on the stations that work and the ones that don't. Does the client DLL file cache anything anywhere? I would not think so. On the server Firebird has no problem writing cached files when it needs to, and it can run the statement fine.