gpt4 book ai didi

C#:DB2 首先测试可用连接

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:17 24 4
gpt4 key购买 nike

我有一个 C# .NET 程序运行一个连接到 DB2 数据库的 ETL。有时这个数据库宕机了,所以我想在应用程序开始时做一个健康检查,看看数据库是否可用,而不实际调用任何存储过程或推送任何数据。这是我现在使用的代码示例:

OdbcConnection myODBCConnection = new OdbcConnection("DSN=DB2AA;UID=ABCD;PWD=1234;");
OdbcCommand myODBCCommand = new OdbcCommand();
myODBCCommand.CommandType = CommandType.StoredProcedure;
myODBCCommand.CommandText = "{CALL SYSPROC.ABC001(?, ?)}";
myODBCCommand.Parameters.Add("INPUT", OdbcType.VarChar, 500);
myODBCCommand.Parameters["INPUT"] = myString

myODBCCommand.Connection = myODBCConnection
myODBCConnection.Open();

OdbcTransaction myTrans;
myTrans = myODBCConnection.BeginTransaction();
myODBCCommand.Transaction = myTrans;
myTrans.Commit();
myODBCCommand.ExecuteNonQuery();
myODBCConnection.Close();

在不实际推送任何数据的情况下测试此连接的最佳方法是什么?

最佳答案

您可以简单地运行一些无害的选择查询来检查数据库是否可用。

您可以尝试做一些简单的事情:

Select 1

或者

Select getdate()

那些简单的查询甚至不涉及任何表,但只有在 rdbms 正在运行时才会返回。

注意:这些示例适用于 sql server,但可能适用于 db2。虽然类似的概念应该是可行的,但我还没有对 db2 进行实时检查。

注意 2:仔细查看您的代码后,您真正应该/需要做的就是检查 odbc 连接的 .Open() 调用是否成功。

关于C#:DB2 首先测试可用连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3825530/

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