labc 发表于 2008-1-18 12:25:01

使用数据库工具包查询超时

我在使用数据库工具包遇到了查询超时问题,以下图片是出错的地方,请帮忙看一下.
查询语句为:
SELECT DISTINCT SN
FROM   dbo.RProcess_Log
WHERE   (Test_Result LIKE 'PASS%') AND(Action_Date BETWEEN '2008-1-18 8:00:00.000' AND '2008-1-18 10:00:00.000') AND (PN ='PN001')
   AND (Station LIKE 'S&T%')
ORDER BY SN
说明一下:
1,以上语句并无错误,在SQL服务器上运行也需要花较多时间,我看了一下,表中的数据大概有200~250万条,超过30列,其中2列储存的是OLE对象(眼图).
2,查询条件中的%似乎可以去掉,但数据记录的相应字段一般都有若干个空格,所以我采用%来模糊处理,这可能也降低了速度;
3,对SN的排序稍后也可以考虑取消.
怎样修改这个子vi,或有更好的方法?

Labc

[ 本帖最后由 labc 于 2008-1-18 13:51 编辑 ]

lgh269 发表于 2008-1-18 13:41:27

你设置,connectionTimeout了吗?
如图

labc 发表于 2008-1-18 13:55:44

在SQL上查询的时间一般都在2分钟左右,如果数据量大我估计至少得需要3分钟以上.
我在DB Tool Open Connection.vi处设置了超时限制,是120S.这个值不会向后传递吗?难道限制的是创建"连接"的时间不能超过120S?
我把工具包里面的Vi增加一个Timeout属性试试,360S差不多了吧.

请看附件.

Labc

[ 本帖最后由 labc 于 2008-1-18 14:09 编辑 ]

labc 发表于 2008-1-18 14:46:50

增加了TimeOut属性之后没有再出现超时报错了,看来工具包也需要我们根据实际情况完善一下功能.
谢谢你的帮助!
详见下图.

Labc

[ 本帖最后由 labc 于 2008-1-19 07:44 编辑 ]
页: [1]
查看完整版本: 使用数据库工具包查询超时