Thread: ODBC and Native error codes

ODBC and Native error codes

From
"Andy Hallam"
Date:
PostgreSQL - 7.1.3 (installed on Linux 2.4.2-2)
PSQLODBC.DLL - 07.01.0007
Visual C++ - 6.0

PostgreSQL does not return the standard ANSI Native SQL number through
SQLGetDiagRec().

I.e

1) - Select from a table that does not exist.

ANSI Native sql code is -208
SQL SERVER returns -208
DB2 returns -204
ORACLE returns -942
PostgreSQL returns -7

2) - Select a column that does not exist on a valid table.

ANSI Native sql code is -207
SQL SERVER returns -207
DB2 returns -206
ORACLE returns -904
PostgreSQL returns -7

3) - Referential integrity violated.

-547 = Reference or constraint violated
-2627 = Primary key violated
-2601 = Duplicate key row
PostgreSQL returns -7 for all the above scenarios ?

Infact, PostgreSQL only ever return -7 !!!

OK - PostgreSQL (Like all the other Database vendors above) does return an
informative string, but it should also return the correct Native ANSI SQL
number.


Anyone know of a way to retreive this Native SQL number?

Andy
ahm@exel.co.uk




Re: ODBC and Native error codes

From
Hiroshi Inoue
Date:
Please post this to pgsql-odbc list.
Unfortunately PostgreSQL doesn't have error code
currently and so psqlodbc doesn't return any valid
Native error code.

regards,
Hiroshi Inoue

Andy Hallam wrote:
>
> PostgreSQL - 7.1.3 (installed on Linux 2.4.2-2)
> PSQLODBC.DLL - 07.01.0007
> Visual C++ - 6.0
>
> PostgreSQL does not return the standard ANSI Native SQL number through
> SQLGetDiagRec().
>
> I.e
>
> 1) - Select from a table that does not exist.
>
> ANSI Native sql code is -208
> SQL SERVER returns -208
> DB2 returns -204
> ORACLE returns -942
> PostgreSQL returns -7
>
> 2) - Select a column that does not exist on a valid table.
>
> ANSI Native sql code is -207
> SQL SERVER returns -207
> DB2 returns -206
> ORACLE returns -904
> PostgreSQL returns -7
>
> 3) - Referential integrity violated.
>
> -547 = Reference or constraint violated
> -2627 = Primary key violated
> -2601 = Duplicate key row
> PostgreSQL returns -7 for all the above scenarios ?
>
> Infact, PostgreSQL only ever return -7 !!!
>
> OK - PostgreSQL (Like all the other Database vendors above) does return an
> informative string, but it should also return the correct Native ANSI SQL
> number.
>
> Anyone know of a way to retreive this Native SQL number?
>
> Andy
> ahm@exel.co.uk
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org