Thread: Driver or Postgres doesn't report refer. integr. errors

Driver or Postgres doesn't report refer. integr. errors

From
"Erny"
Date:
Hi,
 
I'm running 7.0 on NT (with cygwin) and ODBC 6.50
 
I picked up the pgupt.mdb (0.15) to upsize from Access 97.
 
I changed it to use ON UPDATE, ON DELETE ... in the Create statements, discarding all the other trigger creations. I'm still early in development, so I still have not many ideas on the interaction with the drivers.
 
The good news is that all my database with a lot of tables just convert correctly to 7.0 (including the whole referential integrity) and default values. Perhaps I will publish soon all the modifications I did on pgupt.mdb
 
After that, I linked all the tables in Access 97 (fast and easy).
 
The bad news, whenever I delete or update a record causing error in referential integrity, no error is reported to Access. The record seems to disappear, but when rereading the table (or recordset), the 'deleted' record reappears.
 
(please send cc to me: aerd@mx3.redestb.es )
Thanx in advance,
Erny
 
 
 

Re: Driver or Postgres doesn't report refer. integr. errors

From
Cedar Cox
Date:
> The bad news, whenever I delete or update  a record causing error in referential integrity, no error is reported to
Access.The record seems to disappear, but when rereading the table (or recordset), the 'deleted' record reappears.
 

Yes, this is a known problem with the current ODBC driver.  There are
patches that fix this.  

Who's in charge of the ODBC driver?  Patches are fine, but I'm sure there
are many of us that cannot compile under windows, myself included.  When
can we get RI violation reporting included in the 'real' ODBC driver?  I
don't like to rely on a special 'hacked' version of something in a
production environment.

Thanks

-Cedar



Re: Driver or Postgres doesn't report refer. integr. errors

From
Max Khon
Date:
hi, there!

On Tue, 10 Oct 2000, Cedar Cox wrote:

> > The bad news, whenever I delete or update  a record causing error in referential integrity, no error is reported to
Access.The record seems to disappear, but when rereading the table (or recordset), the 'deleted' record reappears.
 
> 
> Yes, this is a known problem with the current ODBC driver.  There are
> patches that fix this.  
> 
> Who's in charge of the ODBC driver?  Patches are fine, but I'm sure there
> are many of us that cannot compile under windows, myself included.  When
> can we get RI violation reporting included in the 'real' ODBC driver?  I
> don't like to rely on a special 'hacked' version of something in a
> production environment.

by the way -- backend protocol does not return numeric error codes
so ODBC driver cannot set SQLCODE's. (SQLCODE returned by ODBC driver is
always empty). So applications that use ODBC can not distinguish
for example, referential integrity errors from backend fatal errors or
errors in SQL statement. Of course, it is possible to examine
string error messages which are returned by backend by this is rather
hackish and there is no evidence that they will not change in future.

/fjoe