gpt4 book ai didi

c# - 到 DB2 的 ODBC 连接挂起

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:50 25 4
gpt4 key购买 nike

我有一个函数,用于通过 ODBC 向 DB2 发送写入查询,如果我失去与 DB2 的连接,它有时会卡在这个函数中。我将 60 作为我的超时发送到该函数,但它永远不会超时。它只是无限期地挂断了我的线程,我不确定有什么好的方法可以强制放弃此功能。

public int WriteQuery(string query, string dbConnStr, int timeout)
{
int rowsAffected = -1;
OdbcConnection conn = new OdbcConnection(dbConnStr);

try
{
conn.Open();
OdbcCommand command = new OdbcCommand(query, conn);
command.CommandTimeout = timeout;

OdbcTransaction trans = conn.BeginTransaction();
command.Transaction = trans;

OdbcDataAdapter adapter = new OdbcDataAdapter(command);
adapter.UpdateCommand = command;

rowsAffected = command.ExecuteNonQuery();
trans.Commit();
}
catch(Exception)
{
throw;
}
finally
{
conn.Close();
conn.Dispose();
}

return rowsAffected;
}
}

最佳答案

无论如何,您正在以相同的方法打开和关闭连接。尝试使用:OdbcConnection.ConnectionTimeout=60;

希望这对您有所帮助!

关于c# - 到 DB2 的 ODBC 连接挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com