psqlodbc crash VFP

From: "CHEN" <trainee12(at)163(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: psqlodbc crash VFP
Date: 2004-01-16 01:40:17
Message-ID: 40074101.00000F.24250@bj148.163.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

SERVER: MANDRIKE LINUX 8.1 + POSTGRESQL 7.4
CLIENT: WIN98 +VFP 8.0 + PSQLODBC 7.3.2

psqlodbc crash vfp randomly when execute a query after a error query with bind parameter.
--------------------------------------------------
P_1='E'
P_2='S'
P_3='XXXXX'
SQL_A="UPDAT PHONE SET PH_STATUS1=?P_1 , PH_STATUS2=?P_S , PH_REMARK=?P_3 WHERE PH_ID=236"
IF SQLEXEC(HANDLE,SQL_A)<0
MESSAGEBOX('ERROR') --ERROR: syntax error at or near "UPDAT" at character 1
ENDIF
SQL_B=" SELECT * FROM PHONE ORDER BY PH_ID DESC LIMIT 20 '
SQLEXEC(HANDLE,SQL_B) --CRASH
---------------------------------------------------
1.I test 10 times , about crash 4 times.
2.If SQL_A is Non-bindparameter-SQL or Correct SQL, SQL_B don't crash VFP.
3.If psqlodbc is changed to 7.1 ver, Crash is occur as usual.

It's crash describe:
---------------------------------------------------
FATAL ERROR
EXCEPTION CODE C0000005 .....

APPNAME vfp8.exe AppVer 8.0.0.25521
ModName psqlodbc.dll ModVer 7.3.2.7
offset: 00010b8e
----------------------------------------------------

It's mylog:
-------------------------------------------------------
[-1980389][SQLBindParameter][-1980389]PGAPI_BindParameter: entering...
[-1980389]extend_parameter_bindings: entering ... self=39918844, parameters_allocated=0, num_params=1
[-1980389]exit extend_parameter_bindings
[-1980389]extend_iparameter_bindings: entering ... self=39918908, parameters_allocated=0, num_params=1
[-1980389]exit extend_iparameter_bindings
[-1980389]extend_putdata_info: entering ... self=39919016, parameters_allocated=0, num_params=1
[-1980389]exit extend_putdata_info
[-1980389]PGAPI_BindParamater: ipar=0, paramType=1, fCType=1, fSqlType=12, cbColDef=1, ibScale=0, rgbValue=22662980, *pcbValue = 1, data_at_exec = 0
[-1980389][SQLBindParameter][-1980389]PGAPI_BindParameter: entering...
[-1980389]extend_parameter_bindings: entering ... self=39918844, parameters_allocated=1, num_params=2
[-1980389]exit extend_parameter_bindings
[-1980389]extend_iparameter_bindings: entering ... self=39918908, parameters_allocated=1, num_params=2
[-1980389]exit extend_iparameter_bindings
[-1980389]extend_putdata_info: entering ... self=39919016, parameters_allocated=1, num_params=2
[-1980389]exit extend_putdata_info
[-1980389]PGAPI_BindParamater: ipar=1, paramType=1, fCType=1, fSqlType=12, cbColDef=1, ibScale=0, rgbValue=21776196, *pcbValue = 1, data_at_exec = 0
[-1980389][SQLBindParameter][-1980389]PGAPI_BindParameter: entering...
[-1980389]extend_parameter_bindings: entering ... self=39918844, parameters_allocated=2, num_params=3
[-1980389]exit extend_parameter_bindings
[-1980389]extend_iparameter_bindings: entering ... self=39918908, parameters_allocated=2, num_params=3
[-1980389]exit extend_iparameter_bindings
[-1980389]extend_putdata_info: entering ... self=39919016, parameters_allocated=2, num_params=3
[-1980389]exit extend_putdata_info
[-1980389]PGAPI_BindParamater: ipar=2, paramType=1, fCType=1, fSqlType=12, cbColDef=252, ibScale=0, rgbValue=49219756, *pcbValue = 252, data_at_exec = 0
[-1980389][SQLExecDirect][-1980389]PGAPI_ExecDirect: entering...
[-1980389]recycle statement: self= 39918592
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
[-1980389]**** PGAPI_ExecDirect: hstmt=39918592, statement='UPDAT PHONE SET PH_STATUS1=? , PH_STATUS2=? , PH_REMARK=? WHERE PH_ID=236'
[-1980389]PGAPI_ExecDirect: calling PGAPI_Execute...
[-1980389]PGAPI_Execute: entering...
[-1980389]PGAPI_Execute: clear errors...
[-1980389]recycle statement: self= 39918592
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
[-1980389]Exec_with_parameters_resolved: copying statement params: trans_status=1, len=74, stmt='UPDAT PHONE SET PH_STATUS1=? , PH_STATUS2=? , PH_REMARK=? WHERE PH_ID=236'
[-1980389]ResolveOneParam: from(fcType)=1, to(fSqlType)=12
[-1980389]ResolveOneParam: from(fcType)=1, to(fSqlType)=12
[-1980389]ResolveOneParam: from(fcType)=1, to(fSqlType)=12
[-1980389] stmt_with_params = 'UPDAT PHONE SET PH_STATUS1='E' , PH_STATUS2='S' , PH_REMARK='无此分机 ' WHERE PH_ID=236'
[-1980389] it's NOT a select statement: stmt=39918592
[-1980389]send_query(): conn=38748736, query='UPDAT PHONE SET PH_STATUS1='E' , PH_STATUS2='S' , PH_REMARK='无此分机 ' WHERE PH_ID=236'
[-1980389]send_query: done sending query
[-1980389]in QR_Constructor
[-1980389]exit QR_Constructor
[-1980389]read 58, global_socket_buffersize=4096
[-1980389]send_query: got id = 'E'
[-1980389]send_query: 'E' - ERROR: syntax error at or near "UPDAT" at character 1
[-1980389]send_query: got id = 'Z'
[-1980389]STATEMENT ERROR: func=SC_execute, desc='', errnum=7, errmsg='Error while executing the query'
[-1980389]CONN ERROR: func=SC_execute, desc='', errnum=110, errmsg='ERROR: syntax error at or near "UPDAT" at character 1'
[-1980389]PGAPI_ExecDirect: returned -1 from PGAPI_Execute
[-1980389][[SQLGetDiagField]] Handle=(3,2611c00) Rec=1 Id=4
[-1980389]PGAPI_GetDiagField entering rec=1[-1980389]**** PGAPI_StmtError: hstmt=39918592 <0>
[-1980389]SC_get_error: status = 7, msg = #ERROR: syntax error at or near "UPDAT" at character 1#
[-1980389] szSqlState = 'S1000',len=54, szError='(null)'
[-1980389]PGAPI_GetDiagField exiting 0
[-1980389][[SQLGetDiagField]] Handle=(3,2611c00) Rec=2 Id=4
[-1980389]PGAPI_GetDiagField entering rec=2[-1980389]**** PGAPI_StmtError: hstmt=39918592 <0>
[-1980389]SC_get_error: status = 7, msg = #ERROR: syntax error at or near "UPDAT" at character 1#
[-1980389]PGAPI_GetDiagField exiting 100
[-1980389][[SQLGetDiagRec]]
[-1980389]PGAPI_GetDiagRec entering rec=1[-1980389]**** PGAPI_StmtError: hstmt=39918592 <512>
[-1980389]SC_get_error: status = 7, msg = #ERROR: syntax error at or near "UPDAT" at character 1#
[-1980389] szSqlState = 'S1000',len=54, szError='ERROR: syntax error at or near "UPDAT" at character 1'
[-1980389]PGAPI_GetDiagRec exiting 0
[-1980389][[SQLGetDiagRec]]
[-1980389]PGAPI_GetDiagRec entering rec=2[-1980389]**** PGAPI_StmtError: hstmt=39918592 <512>
[-1980389]SC_get_error: status = 7, msg = #ERROR: syntax error at or near "UPDAT" at character 1#
[-1980389]PGAPI_GetDiagRec exiting 100
[-1980389][SQLCancel][-1980389]PGAPI_Cancel: entering...
[-1980389]PGAPI_FreeStmt: entering...hstmt=39918592, fOption=0
[-1980389]recycle statement: self= 39918592
[-1980389]QResult: in DESTRUCTOR
[-1980389]QResult: free memory in, fcount=0
[-1980389]QResult: free memory out
[-1980389]QResult: exit DESTRUCTOR
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
[-1980389]PGAPI_Cancel: PGAPI_FreeStmt returned 0
[-1980389][SQLCancel][-1980389]PGAPI_Cancel: entering...
[-1980389]PGAPI_FreeStmt: entering...hstmt=39918592, fOption=0
[-1980389]recycle statement: self= 39918592
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
[-1980389]PGAPI_Cancel: PGAPI_FreeStmt returned 0
[-1980389][SQLExecDirect][-1980389]PGAPI_ExecDirect: entering...
[-1980389]recycle statement: self= 39918592
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
[-1980389]**** PGAPI_ExecDirect: hstmt=39918592, statement='SELECT * FROM PHONE ORDER BY PH_ID DESC LIMIT 20 '
[-1980389]PGAPI_ExecDirect: calling PGAPI_Execute...
[-1980389]PGAPI_Execute: entering...
[-1980389]PGAPI_Execute: clear errors...
[-1980389]recycle statement: self= 39918592
[-1980389]APD_free_params: ENTER, self=39918844
[-1980389]APD_free_params: EXIT
[-1980389]IPD_free_params: ENTER, self=39918908
[-1980389]IPD_free_params: EXIT
[-1980389]PDATA_free_params: ENTER, self=39919016
[-1980389]PDATA_free_params: EXIT
------------------------------------------------------------------------
========================================================
网易VIP收费邮箱两周年超值优惠! 满1赠6!!  http://vip.163.com

中国最大的免费邮箱在等你 25兆空间4兆附件!      http://mail.163.com

点击网易泡泡惊喜无限 全免费手机短信任你发!      http://popo.163.com

Browse pgsql-odbc by date

  From Date Subject
Next Message Jeff Eckermann 2004-01-16 02:04:19 Re: linked tables Access <---> PG 7.4.1
Previous Message Andreas 2004-01-16 00:27:21 linked tables Access <---> PG 7.4.1