----- Original Message -----
From: Manuel Martínez Valls <mmartinezv@sanostra.es>
To: <pgsql-odbc@postgresql.org>
Sent: Saturday, June 16, 2001 1:19 PM
Subject: [ODBC] RV: no updateable recordset
>
> Hi,
>
> I'm trying to access to a postgreSQL database via ODBC. I'm able to read
> the data without any problem from VB on windows, but I can't update or
> insert any record.
>
> I have NOT checked the 'read only' option of the driver.
>
> I'm using Postgres 7.1.2 on a SuSE 6.3 Linux, and the 7.01.0005 driver.
But
> I had the problem previously (with version 7.0.2 and an older version of
the
> driver).
>
> I can insert or update a record from 'psql' or via the unixODBC driver
> installed on the same machine.
>
> There's another extrange thing, I'm not able to modify any record, but I
> can do a drop table via odbc (so the table is not read only). I'm using
the
> visual basic sample VisData to do the test. I've read something about a
> msysconf file or table, in the logs I see the following:
> >> Relation 'msysconf' does not exist'
>
> >>conn=152710432,
> SQLDriverConnect(out)='DSN=test;DATABASE=test;SERVER=server;
> >>PORT=5432;UID=postgres;PWD=XXXX;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;
> >>SHOWOIDCOLUMN=0;ROWVERSIONING=0;SHOWSYSTEMTABLES=0;CONNSETTINGS='
> >>conn=152710432,query='BEGIN'
> >>conn=152710432, query='declare SQL_CUR095D0040 cursor for SELECT Config,
> nValue FROM MSysConf'
> >>ERROR from backend during send_query: 'ERROR: Relation 'msysconf' does
> not exist'
> >>conn=152710432, query='ABORT'
> >>STATEMENT ERROR: func=SC_execute, desc='', errnum=-1, errmsg='Error
while
> executing the query (non-fatal)'
>
> Does this mean that my databases should contain any tables to allow odbc
> (write)connections? Can anybody help me?
>
>
> Thanks in advance,
>
> Manuel Martínez Valls
1. MS JET database engine reads some ODBC settings from MSysConf table:
CREATE TABLE "msysconf" (
"config" int2 NOT NULL,
"chvalue" character varying,
"nvalue" int4,
"comments" character varying);
REVOKE ALL on "msysconf" from PUBLIC;
GRANT SELECT on "msysconf" to GROUP "odbcusers";
All ODBC users must have permission to use the SELECT statement on this
table. For correct settings look at DAO reference.
2. You need unique index to update table. Look around Recognize Unique
Indexes or Fake Index in PostgreSQL ODBC FAQ.
Regards,
Zlatko Talic.