Re: Access violation C5 error on Visual FoxPro SQLEXEC() call after error

From: Ludek Finstrle <luf(at)pzkagis(dot)cz>
To: Andrus Moor <eetasoft(at)online(dot)ee>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: Access violation C5 error on Visual FoxPro SQLEXEC() call after error
Date: 2005-12-14 01:11:28
Message-ID: 20051214011128.GC9345@soptik.pzkagis.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Sun, Dec 11, 2005 at 11:50:33AM +0200, Andrus Moor napsal(a):
> Driver: psqlodbc-8_01_0104.zip ( I think)
>
> Platform: Visual FoxPro 09.00.0000.3504 for Windows [Nov 4 2005 17:39:44]
>
> Any idea how to fix this ?

I tried to fix it but this seems to me as VFP bad behaviour. I'm
againist add this code to official release unless we make new option
in configure DSN dialog.

Dave I propose to rollback your patch for the first Andrus's problem
as it breaks ODBC specification (if I understand this well):
| After SQLExecute or SQLExecDirect returns SQL_NEED_DATA and before
| data has been sent for all data-at-execution parameters,
| an application can call SQLCancel to cancel the statement execution.
| After the statement has been canceled, the application can call
| SQLExecute or SQLExecDirect again.

I think bind parameters can't be destroyed in SQLCancel.

I attach patch which may solve Andrus's problem and change a little
Dave's patch. I see application may call FreeStmt(SQL_CLOSE) and
FreeStmt(SQL_RESET_PARAMS). But VFP doesn't call it.

Andrus, I created bug in bug tracker. I attached compiled DLLs there
so you can try it. Link:
http://pgfoundry.org/tracker/index.php?func=detail&aid=1000481&group_id=1000125&atid=538

Regards,

Luf

Attachment Content-Type Size
psqlodbc-cancel_vfp_hack.diff text/plain 2.5 KB

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2005-12-14 01:12:48 [ psqlodbc-Bugs-1000481 ] VFP and SQLCancel
Previous Message noreply 2005-12-14 01:07:00 [ psqlodbc-Bugs-1000481 ] VFP and SQLCancel