sql - ODBC SQL 连接应保持打开状态多长时间?

标签 sql oracle winapi odbc

长时间运行的应用程序使用 MS C OBDC API 创建和使用与 Oracle DB 的 SQL 连接。该应用程序最初设计为在启动时建立 ODBC 连接,并在应用程序运行时无限期地保持该连接,可能持续数周或数月。

我们看到连接突然断开的情况非常罕见,我想知道这是因为我们错误地使用了它们,还是认为保持这样的连接是可以的。谁能给我提供有关该主题的一些明确信息?

最佳答案

我不确定是否有关于此的明确信息,但是对于长时间运行的程序,您始终必须为此类事件做好准备,它们只是发生(不仅对于数据库连接,而且对于保持打开状态的套接字)延长的时间)。我没有使用 Oracle 的经验,但我对 Informix 有非常相似的设置,这就是我们所做的(以伪代码形式)

while (programissupposedtorun) {
    opendb();
    do {
       youractivities();
    } while(dbisok);
    closedbandcleanup();
}

只要您能够正确检测到连接中断并能够在不丢失数据的情况下恢复处理,就应该没问题。

关于sql - ODBC SQL 连接应保持打开状态多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11501549/

相关文章:

sql - 数据库查询。如何在单行上捕获 'mixed' 状态

c++ - c++ win32 中是否有用于数字系统转换的内置函数?

c++ - 在 SetUnhandledExceptionFilter 的处理程序中如何打印堆栈跟踪?

sql - 如何从表 (Oracle) 中获取具有给定 rowid 列表 IN STRING 的记录?

java.sql.SQLException : ORA-00934: group function is not allowed here oracle

sql - 我们可以从sql中的列中选择第一行数据吗?

oracle - 如何安排存储过程每天在特定时间运行?

c++ - 使用 C++ Hook QT 应用程序以捕获应用程序的文本名称

mysql - SQL以任意顺序搜索单词

SQL Server 日期表 : programatically find the last Sunday in a given month