Subject | Query Stops Working on Vista |
---|---|
Author | Robert |
Post date | 2008-05-27T08:31Z |
I have an application written originally for Jet via DAO, which has been
modified to use Firebird via ODBC. In various places a query of the form:
SELECT DISTINCTROW A.X, A.Y
FROM A LEFT JOIN B ON A.X = B.X
WHERE (((B.X) Is Null));
has been used to find the difference between to sets, A being a table,
and B being the result from a query. This has worked for many, many
years on everything from Win95 onwards, and continued to work when used
with a Firebird client running on Windows XP. However, it doesn't work
when the Firebird client is running on Vista. When the same SQL is
used with a Jet database on Vista all is still OK. The problem appears
to lie with the Is Null bit; it's as if the fields in the query result
which should be NULL are not NULL. Using a different field in B to
detect the NULL condition doesn't solve the problem.
I think I've found another (superior) way of meeting the requirement,
but I would like to understand why this SQL does not work on a Firebird
client running on Vista, because I use Is Null in other queries (of a
different form). Do you have any suggestions please?
Regards,
Robert.
--
No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.1/1468 - Release Date: 5/26/2008 15:23
modified to use Firebird via ODBC. In various places a query of the form:
SELECT DISTINCTROW A.X, A.Y
FROM A LEFT JOIN B ON A.X = B.X
WHERE (((B.X) Is Null));
has been used to find the difference between to sets, A being a table,
and B being the result from a query. This has worked for many, many
years on everything from Win95 onwards, and continued to work when used
with a Firebird client running on Windows XP. However, it doesn't work
when the Firebird client is running on Vista. When the same SQL is
used with a Jet database on Vista all is still OK. The problem appears
to lie with the Is Null bit; it's as if the fields in the query result
which should be NULL are not NULL. Using a different field in B to
detect the NULL condition doesn't solve the problem.
I think I've found another (superior) way of meeting the requirement,
but I would like to understand why this SQL does not work on a Firebird
client running on Vista, because I use Is Null in other queries (of a
different form). Do you have any suggestions please?
Regards,
Robert.
--
No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.1/1468 - Release Date: 5/26/2008 15:23