Buen día, quiero reportar un problema que me esta generando Evolution en la implementación de un cliente con windows server 2012 R2

Actualmente poseo un servidor de base de aplicación y un servidor de base de datos. El problema es causado al momento de tratar de generar los reportes estáticos o conjuntos de datos entre otros. La versión que tiene instalada es la 1.9.0.2

Investigando acá en el foro, encontré que algunas instrucciones que realizar, sin embargo todo lo realizado no ha resuelto el problema.

  • Se corroboró que los servidores puedan verse por su nombre via NetBios (ambos pertenecen a la misma red)
  • Se configuro el msdtc en ambos servidores como lo indica la presentación de instalación.
  • Se verifico que los servicios estuvieran habilitados
  • El Firewall esta deshabilitado en ambos servidores, sin embargo tiene las reglas para alojar los servicios dtc.
  • Se modifico el archivo hosts para colocar la ip y el nombre del servidor (en ambos servidores)
  • El antivirus que ocupan es el McAfee y el administrador de red, lo deshabilito para ambos servidores.
  • los puertos del sql estan habilitados.

Quisiera que alguien pueda apoyarme para indicarme que mas puedo hacer para resolver este problema, entiendo que si la comunicación no sirve para los reportes, tampoco funcionará para la generación de planillas entre otros.

La acción 'DescargarConsultaGenerada' del controlador 'ConsultasExcel' ha lanzado la excepción 'EntityException' con el mensaje: The underlying provider failed on Open.

System.Data.Entity.Core.EntityException: The underlying provider failed on Open.
 ---> System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed.
 ---> System.Runtime.InteropServices.COMException: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)
   at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) --- End of inner exception stack trace ---
   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
   at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
   at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
   at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
   at System.Transactions.Transaction.Promote()
   at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
   at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
   at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
   at System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.EntityClient.EntityConnection.Open() --- End of inner exception stack trace ---
   at System.Data.Entity.Core.EntityClient.EntityConnection.Open()
   at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
   at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at System.Data.Entity.Core.Objects.CompiledQuery.ExecuteQuery[TResult](ObjectContext context, Object[] parameterValues)
   at System.Data.Entity.Core.Objects.CompiledQuery.Invoke[TArg0,TArg1,TResult](TArg0 arg0, TArg1 arg1)
   at Aseinfo.Infrastructure.Repositories.MetadataRepository.GetEntidadAuditoria(String entityName) in c:\VH4\Infrastructure\Data\MetadataRepository.cs:line 256
   at Aseinfo.Infrastructure.Services.MetadataService.GetEntidadAuditoria(String entityName) in c:\VH4\Infrastructure\Services\Metadata\MetadataService.cs:line 345
   at Aseinfo.Infrastructure.Services.CustomValidationService.<>c__DisplayClassc.<FilterCapableEntityChangeEntriesOnSavedChanges>b__7(String esn) in c:\VH4\Infrastructure\Services\CustomValidation\CustomValidationService.cs:line 143
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at Aseinfo.Infrastructure.Services.CustomValidationService.FilterCapableEntityChangeEntriesOnSavedChanges(List`1 entries) in c:\VH4\Infrastructure\Services\CustomValidation\CustomValidationService.cs:line 150
   at Aseinfo.Infrastructure.Data.ConfigDataContext.DataContextSavedChanges(Object sender, EventArgs e) in c:\VH4\Infrastructure\DataAccess\EF\SqlServer\Model\ConfigDataContext.cs:line 204
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at Aseinfo.Infrastructure.Data.ConfigDataContext.SaveChanges(SaveOptions options) in c:\VH4\Infrastructure\DataAccess\EF\SqlServer\Model\ConfigDataContext.cs:line 96
   at Aseinfo.Infrastructure.Base.Entity.EntityServiceBase`2.SaveChanges() in c:\VH4\Infrastructure\Base\Entity\EntityServiceBase.cs:line 557
   at Aseinfo.Infrastructure.Controllers.ConsultasExcelController.AgregarErrorEnBitacoraEjecucion(ConsultaExcel consulta, List`1 qbFields, String errorMessage, String stackTrace, ResultadoEjecucionReporte resultadoEjecucion) in c:\VH4\Infrastructure\Controllers\ConsultasExcelController.cs:line 1740
   at Aseinfo.Infrastructure.Controllers.ConsultasExcelController.DescargarConsultaGenerada(Int32 codigo, DateTime fecha, String titulo, String subtitulo, List`1 qbFields, Boolean mostrandoEnDialogo) in c:\VH4\Infrastructure\Controllers\ConsultasExcelController.cs:line 539
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)

alt textalt text alt textalt textalt textalt text

asked 30 Sep '15, 12:06

William%20Delgado's gravatar image

William Delgado
26778
accept rate: 100%

edited 07 Oct '15, 11:51

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635

vos el registro en el archivo del hosts lo tenes comentado por que iniciaste la línea con el caracter #

(30 Sep '15, 12:25) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

Lo edite, pero tampoco funcionó, probaré con lo que indica Sabanito.

(30 Sep '15, 13:15) William Delgado William%20Delgado's gravatar image

Para aclarar un poco en que contexto se genera este error y porque sucede en la generación de reportes, el problema se dá al momento de querer grabar en la bitácora de ejecución de un reporte.

Al intentar guardar esta información se llega al problema de que alguno de los servidores involucrados (SQL o WebServer) no tienen bien configurado el MSDTC o no cumplen con los requisitos para que funcione.

(07 Oct '15, 11:55) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

Te recomiendo usar el DTCPing.exe. Suele parecer repetitivo, pero en todos los casos donde hemos visto este problema la razon siempre es una de las que menciona el exception:

  • Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process,
  • the two machines cannot find each other by their NetBIOS names,
  • or the support for network transactions is not enabled for one of the two transaction managers.

En muchos casos se sospecha que la configuración está bien, pero por alguna razón, no estaba bien en todos los casos. Este artículo explica como funciona y como se usa el DTCPing.exe y donde bajarlo:

https://support.microsoft.com/en-us/kb/918331

link

answered 30 Sep '15, 12:38

sabanito's gravatar image

sabanito ♦♦
(suspended)
accept rate: 54%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×44
×38
×4

Asked: 30 Sep '15, 12:06

Seen: 2,731 times

Last updated: 07 Oct '15, 11:56

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática