用vb+sql2000做的一个库存系统,在执行conn.EXECUTE "My_P 参数1,参数2,参数3,参数4"
时出现“超时已过期”错误。(conn.ConnectionTimeout = 0)
存储过程My_P中大致如下:
Set @s='Insert Into My_T (F1,F2,F3...F20) 
        Select R1,R2,(子查询1),(子查询2),(子查询3),...(子查询18)
        From TableR
        Where ...参数1...参数4...'
EXEC (@s)
最后得出的表My_T大概有5000条记录,如果直接用查询分析器运行该存储过程需时不到2分钟。如果用游标循环(Select R1,R2 From TableR Where ...参数1...参数4...),逐条记录
查出F3至F20,然后插入到表My_T中,那时间就更长,大概50分钟!请教各位高手,这该如何处理?谢谢!

解决方案 »

  1.   

    可能是你的程序代码有问题,不要说5000条,就是50000都么眼问题答案:http://www.play78.com
      

  2.   

    hglai(http://www.play78.com) :
    可能是你的程序代码有问题,不要说5000条,就是50000都么眼问题
    ===========================================
    代码问题?为什么同一个存储过程在查询分析器运行没问题,vb调用就出问题?
      

  3.   

    解决了,原来是这个 conn.CommandTimeout = 1000