我在vc中向oracle中A表插入数据,同时在vc中定时触发触发器,
触发器在后台对A表部分字段进行更新操作。
单程序运行一段时间后,就会出现异常,如果把触发器disable掉,
程序就会正常运行了。
所以我认为是程序一方面向A表写数据,另一方面触发器对A表更新数据,
造成这种原因。
我是新手,不知道这个问题怎么来解决!
请各位大哥帮我出出注意!
谢谢!
触发器在后台对A表部分字段进行更新操作。
单程序运行一段时间后,就会出现异常,如果把触发器disable掉,
程序就会正常运行了。
所以我认为是程序一方面向A表写数据,另一方面触发器对A表更新数据,
造成这种原因。
我是新手,不知道这个问题怎么来解决!
请各位大哥帮我出出注意!
谢谢!
应该是你的vc和oracle的触发器互相出现了一个类似循环操作的现象。估计是你的触发器写的有问题。没有处理好并发的关系。
谢谢!
kernel32! 7c812a56()
msvcrtd!_cxxthrowexception@8+57bytes
_com_raise_error(long -2147217871,
IErrorInfo *0x01053950)+35bytes
_com_issue_errorex(long -2147217871,I unknown * 0x01037a08,const_guid&{11D_connection15})+93bytes
connection15::execute(_bstr_t{"update message_sis set ns_flag=1"(1)}tagVARIANT * 0x00000000{???},long 1) line344
updateMessage(voud*0x00000000)update message_sis set ns_flag=1是我那条sql语句,执行时就会出异常
updateMessage是我线程名!
kernel32.dll
0xe06d7363
是ado对象默认的超时时间的问题造成的,
把时间改长一点就好了,
只可惜vc连这种问题都不能有效的告知程序员。
谢谢大家!