psqlodbc crash VFP - Mailing list pgsql-odbc
From | CHEN |
---|---|
Subject | psqlodbc crash VFP |
Date | |
Msg-id | 40074101.00000F.24250@bj148.163.com Whole thread Raw |
List | 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=? WHEREPH_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='无此分机 ' WHEREPH_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 character1' [-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
pgsql-odbc by date: