Assembly no soportado: Microsoft.BizTalk.Databases.dll


Microsoft.BizTalk.Databases.dll es un assembly no soportado por Microsoft en el framework de BizTalk Sever que provee funcionalidad para consultar los servidores existentes en la red y las bases de datos existentes en estos. Para ello este assembly provee 5 clases: BizTalkDatabaseInfo, Database, DatabaseCollection, Server, y ServerCollection.


Por ejemplo, para consultar los servidores de SQL Server existentes se puede utilizar las clases ServerCollection y Server.


foreach (string name in Microsoft.BizTalk.Databases.ServerCollection.GetSqlServerNames())
{
   Microsoft.BizTalk.Databases.Server server = new Microsoft.BizTalk.Databases.Server
(name);
   System.Console.WriteLine("Server name: "
+ server.Name);
   System.Console.WriteLine("Platform Identifier: "
+ server.PlatformIdentifier.ToString());
   System.Console.WriteLine("Type: "
+ server.Type.ToString());
   System.Console.WriteLine("Version: "
+ server.Version.ToString());
}


Y para consultar las bases de datos de cada servidor basta con utilizar el siguiente código, así mismo por cada base de datos es puede consultar si pertenece o no a BizTalk Server:


Microsoft.BizTalk.Databases.Server server = new Microsoft.BizTalk.Databases.Server("server_name");
bool
isBtsDb = true;
foreach (Microsoft.BizTalk.Databases.Database database in
server.GetDatabaseCollection())
{
   System.Console.WriteLine("Database: "
+ database.Name);
   try
   {
      isBtsDb = database.IsBizTalkDatabase;
      if
( isBtsDb ) 
      System.Console.WriteLine("///// Begin - BizTalk Database "
);
   }  
   catch
   {
      isBtsDb = false
;
   }
   System.Console.WriteLine("Is BizTalk database: "
+ isBtsDb.ToString());
   if
(isBtsDb)
   {
      System.Console.WriteLine("BizTalk Db name: "
+ database.BizTalkDatabaseInfo.Name);
      System.Console.WriteLine("BizTalk Db version: "
+ database.BizTalkDatabaseInfo.Version.ToString());
      System.Console.WriteLine("BizTalk Db description: "
+ database.BizTalkDatabaseInfo.Description);
      System.Console.WriteLine("///// End - BizTalk Database "
);
   }
}






Nota: aunque se puede consultar si una base de datos pertenece o no a BizTalk Server, esta funcionalidad no es valida y solo se presenta en el código a nivel de ejemplo. Lo anterior se da por que al consultar la información de la base de datos solo revisa la ManagementBizTalkDb y no otras como BizTalkMsgbDb.


Autor: Carlos Medina


Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho

Skip to main content