我们正在使用Sybase / ODBC如何在运行长批量SQL查询时处理断开连接?

问题描述 投票:0回答:1

我们正在使用ODBC和“Adaptive server enterprise”驱动程序在C#中开发一个应用程序,以从Sybase DB中提取数据。

我们有一个很长的SQL批处理查询,它创建了许多中间临时表,并将多个DataTable对象返回给应用程序。我们看到TABLENAME not found的例外,其中TABLENAME是我们的中间临时表之一。当我在调试器中检查OdbcConnection对象的状态时,它是Closed

我的问题很笼统。这是您为长时间运行的复杂查询而支付的价格吗?还是有一种可靠的方法可以摆脱这种虚假断开连接?

提前谢谢了!

database connection odbc sybase disconnect
1个回答
0
投票

有几个ODBC超时参数 - 请参阅:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc20116.1550/html/aseodbc/CHDCGBEH.htm上的SDK文档

特别是CommandTimeOut和ConnectionTimeOut,你可以相应地设置。

但更有可能的是,当流程运行时,您被阻止或类似 - 可能会要求您的DBA检查您的查询计划以查找批处理中的各个步骤,并查找特定的问题区域,例如表格扫描等可能会掩盖您的超时问题。

© www.soinside.com 2019 - 2024. All rights reserved.