C#:首先测试DB2可用连接
我有一个C#.NET程序,运行一个连接到DB2数据库的ETL。有时这个数据库关闭了,所以我想在应用程序开始时做一次运行状况检查,看看数据库是否可用,而不需要实际调用任何存储过程或推送任何数据。下面是我现在使用的代码示例:C#:首先测试DB2可用连接,c#,.net,odbc,db2,C#,.net,Odbc,Db2,我有一个C#.NET程序,运行一个连接到DB2数据库的ETL。有时这个数据库关闭了,所以我想在应用程序开始时做一次运行状况检查,看看数据库是否可用,而不需要实际调用任何存储过程或推送任何数据。下面是我现在使用的代码示例: OdbcConnection myODBCConnection = new OdbcConnection("DSN=DB2AA;UID=ABCD;PWD=1234;"); OdbcCommand myODBCCommand = new OdbcCommand(); myODBC
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查询来检查数据库是否可用 您可以尝试做一些简单的事情,如:
Select 1
或
这些简单的查询甚至不涉及任何表,但只有在rdbms运行时才会返回
注意:这些示例适用于sql server,但可能适用于db2。虽然类似的概念应该是可行的,但我还没有对db2进行过实时检查
注意2:仔细查看代码后,您真正需要做的就是检查odbc连接的.Open()调用是否成功
Select getdate()