example - connection string db2 c#
C#: conexión disponible de prueba de DB2 primero (1)
Tengo un programa .NET de C # que ejecuta un ETL que se conecta a una base de datos DB2. Algunas veces esta base de datos está inactiva, por lo que me gustaría hacer un chequeo de salud al comienzo de la aplicación para ver si la base de datos está disponible, sin llamar a ningún procedimiento almacenado ni enviar datos. Aquí hay un ejemplo del código que estoy usando ahora:
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();
¿Cuál es la mejor manera de probar esta conexión sin presionar ningún dato?
Simplemente puede ejecutar alguna consulta de selección inocuo para verificar si el archivo db está disponible.
Puedes intentar hacer algo tan simple como:
Select 1
O
Select getdate()
Esas consultas simples ni siquiera tocan ninguna tabla, pero solo se mostrarán si se está ejecutando la rdbms.
Nota: esos ejemplos son para el servidor sql pero podrían funcionar para db2. No he tenido que hacer un chequeo en vivo en un db2 aunque el concepto similar debería ser factible.
Nota 2: después de una mirada más cercana a su código, todo lo que realmente debe / necesita hacer es verificar el éxito de la llamada .Open () de su conexión odbc.