Thread: INSERT but no UPDATE or DELETE from windows

INSERT but no UPDATE or DELETE from windows

From
Albert Cervera Areny
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,
  I have Postgres 7.3.3 and ODBC driver 7.03.0100 and as the subject says, I
can INSERT but can't UPDATE nor DELETE. I can also create new tables. The
user has permision to do this as the psql \dp show the correct privileges and
lets me UPDATE without problems using the same user as the ODBC driver.

  I open the database as Dynaset (from VB and Visdata) but when I try to
UPDATE or .Edit a record it says something like 'should use an updatable
query' (translated from spanish).

  The odbc connection is not, of course, read only.

Any ideas of what's going on here? This worked well a couple of weeks ago and
the only thing I can think I could have modified is the PostgreSQL version
(probably updated from 7.2.x to 7.3.3). Could this be the cause? How could I
work arround this?

Thanks in advance!

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/DBfSTK7ZP4pDOHcRAiswAJ9yJa6MCBgFnszjWaBdMwdJKF4ApACghwC3
eX/pkUfoKyM46Xlc/Ez846s=
=I91X
-----END PGP SIGNATURE-----

Re: INSERT but no UPDATE or DELETE from windows

From
Richard Huxton
Date:
On Wednesday 09 Jul 2003 2:25 pm, Albert Cervera Areny wrote:
> Hi,
>   I have Postgres 7.3.3 and ODBC driver 7.03.0100 and as the subject says,
> I can INSERT but can't UPDATE nor DELETE. I can also create new tables. The
> user has permision to do this as the psql \dp show the correct privileges
> and lets me UPDATE without problems using the same user as the ODBC driver.
>
>   I open the database as Dynaset (from VB and Visdata) but when I try to
> UPDATE or .Edit a record it says something like 'should use an updatable
> query' (translated from spanish).
>
>   The odbc connection is not, of course, read only.

Can you give us the options ticked/not in the odbc driver settings and the
options used when creating the cursor?

--
  Richard Huxton

Re: INSERT but no UPDATE or DELETE from windows

From
Albert Cervera Areny
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A Dimecres 09 Juliol 2003 22:39, Richard Huxton va escriure:
> On Wednesday 09 Jul 2003 2:25 pm, Albert Cervera Areny wrote:
> > Hi,
> >   I have Postgres 7.3.3 and ODBC driver 7.03.0100 and as the subject
> > says, I can INSERT but can't UPDATE nor DELETE. I can also create new
> > tables. The user has permision to do this as the psql \dp show the
> > correct privileges and lets me UPDATE without problems using the same
> > user as the ODBC driver.
> >
> >   I open the database as Dynaset (from VB and Visdata) but when I try to
> > UPDATE or .Edit a record it says something like 'should use an updatable
> > query' (translated from spanish).
> >
> >   The odbc connection is not, of course, read only.
>
> Can you give us the options ticked/not in the odbc driver settings and the
> options used when creating the cursor?

*** ODBC Driver: (C=Checked, U=Unchecked)
- ------Page 1------
C    Disable genetic optimizer
C    KSQO (Keyset Query Optimization)
C    Recognize unique indexes
U    Use declare/fetch

U    CommLog
U    Parse Statements
U    Cancel as freestmt (Exp)
U    Mylog

Unknown sizes: Maximum

C    Text as LongVarChar
U    Unknowns as LongVarChar
C    Bools as char

Max Varchar=254
Cache Size=100
Max LongVarChar=8190
Systable prefixes=dd_;


- ------Page 2------
U    Read only
U    Show system tables
C    LF<->CR/LF conversion
C    Updatable cursors
U    bytea as LO

U    Row versioning
U    Disallow premature
U    True is -1
U    Server side prepare

Int8 As Default

Protocol: 7.X,6.4+

U    Show columns

*** VB Example

    Dim dbT As Database
    Dim rsT As Recordset

      Set dbT = OpenDatabase("comunica", dbDriverNoPrompt,
False,"ODBC;DATABASE=comon;UID=comon;PWD=comon;DSN=Comunica")
     dbT.Execute "INSERT INTO articles VALUES(1,1,1,'BBB')"
    dbT.Execute "UPDATE articles SET unitats=300"
    dbT.Close

*** This example will crush when trying the update but will insert the record.
The same if I open a recordset (dynaset) and try to .AddNew or .Edit (the
latter will crush)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/DRpXTK7ZP4pDOHcRAuv5AKCBwpqz5IxRVheFIBlCeMhOBqHyXQCghpH/
ckbHL8pPKaAXLgLhbiOM34g=
=pEbR
-----END PGP SIGNATURE-----

Re: INSERT but no UPDATE or DELETE from windows

From
Albert Cervera Areny
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A Dimecres 09 Juliol 2003 22:39, Richard Huxton va escriure:
> On Wednesday 09 Jul 2003 2:25 pm, Albert Cervera Areny wrote:
> > Hi,
> >   I have Postgres 7.3.3 and ODBC driver 7.03.0100 and as the subject
> > says, I can INSERT but can't UPDATE nor DELETE. I can also create new
> > tables. The user has permision to do this as the psql \dp show the
> > correct privileges and lets me UPDATE without problems using the same
> > user as the ODBC driver.
> >
> >   I open the database as Dynaset (from VB and Visdata) but when I try to
> > UPDATE or .Edit a record it says something like 'should use an updatable
> > query' (translated from spanish).
> >
> >   The odbc connection is not, of course, read only.
>
> Can you give us the options ticked/not in the odbc driver settings and the
> options used when creating the cursor?

Now, I've been able to us UPDATE using the dbSQLPassthrough option parameter,
but can't update using a recordset. With Openrecordset, the dbSQLPassthrough
parameter is only valid for dbOpensnapshot and I can't update using any of
dbOpenDynaset, dbOpenDynamic, dbOpenTable either.

Any suggestions? Thanks for your help.

PS: I use the simple PostgreSQL driver, not the UTF beta one.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/DSKLTK7ZP4pDOHcRAgMcAJ9uWpzmDwafNfYPX4gUI4x/S7rJTACgjXnK
7jBroXNhK0bSswfQkK62EW4=
=7iCE
-----END PGP SIGNATURE-----