Este reporte anteriormente generaba un problema de accesos los cuales se otorgaron, adicionalmente, se tenia un problema del lado del server de reportes porque cuando se intentaba ejecutar el reporte principal, este solicitaba 2 veces las credenciales del usuario, por lo cual se volvieron a armar los reportes en un nuevo proyecto y se volvieron a subir al server. Ahora con ese cambio en el server corren bien, pero del lado de Evolution al intentar generarlo lanza la siguiente excepcion en la qe hace referencia al truncamiento de un dato

System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details. 
---> System.Data.SqlClient.SqlException: String or binary data would be truncated. The statement has been terminated. 
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) 
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) 
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) 
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 
at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in c:\TeamCity\buildAgent\work\1de24adb938b932d\StackExchange.Profiling\Data\ProfiledDbCommand.cs:line 264 
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) 
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand command, DbCommandInterceptionContext interceptionContext) 
at System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues) 
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() --- End of inner exception stack trace --- 
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() 
at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) 
at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction) 
at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation) 
at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction) 
at Aseinfo.Infrastructure.Data.ConfigDataContext.SaveChanges(SaveOptions options) in c:\BuildAgent\work\89066541112bb801\Infrastructure\DataAccess\EF\SqlServer\Model\ConfigDataContext.cs:line 82 
at Aseinfo.Infrastructure.Base.Entity.EntityServiceBase`2.SaveChanges() in c:\BuildAgent\work\89066541112bb801\Infrastructure\Base\Entity\EntityServiceBase.cs:line 528 
at Aseinfo.Infrastructure.Controllers.ReportesController.AgregarEjecucionEnBitacora(Reporte reporte, Dictionary`2 parametros, String errorMessage, String stackTrace, ResultadoEjecucionReporte resultadoEjecucion) in c:\BuildAgent\work\89066541112bb801\Infrastructure\Controllers\ReportesController.cs:line 695 
at Aseinfo.Infrastructure.Controllers.ReportesController.GenerarReporte(String codigoReporte, Dictionary`2 parametros, Boolean mostrandoEnDialogo) in c:\BuildAgent\work\89066541112bb801\Infrastructure\Controllers\ReportesController.cs:line 299 
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.<>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)

asked 15 Jun '15, 11:24

Valentino%20Lopez's gravatar image

Valentino Lopez
(suspended)
accept rate: 42%

edited 16 Jun '15, 08:41

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635


La excepción que copiaste indica que no se pudo grabar la bitácora de ejecución del reporte. Entonces si el reporte está dando error, no se está mostrando, porque falla la actualización de la bitácora.

La tabla bitácora del reporte tiene la siguiente estructura:

CREATE TABLE [rep].[brp_bitacora_reportes] (
    [brp_codigo]          BIGINT         IDENTITY (1, 1) NOT NULL,
    [brp_codrep]          VARCHAR (100)  NOT NULL,
    [brp_fecha]           DATETIME       NOT NULL,
    [brp_usuario]         VARCHAR (50)   NOT NULL,
    [brp_param_ejecucion] VARCHAR (4000) NULL,
    [brp_resultado]       VARCHAR (10)   NOT NULL,
    [brp_error]           VARCHAR (4000) NULL,
    [brp_stack_trace]     VARCHAR (4000) NULL,
    CONSTRAINT [PK_brp_bitacora_reportes] PRIMARY KEY CLUSTERED ([brp_codigo] ASC),
    CONSTRAINT [CK_rep_brp_resultado] CHECK ([brp_resultado]='Exitoso' OR [brp_resultado]='Fallido'),
    CONSTRAINT [fk_reprep_repbrp] FOREIGN KEY ([brp_codrep]) REFERENCES [rep].[rep_reportes] ([rep_codigo]) ON DELETE CASCADE
);

Entonces pareciera que el texto a guardar en la columna btp_param_ejecucion, brp_resultado o brp_stack_trace es mayor de 4,000 caracteres. También podrías asegurarte que no es la columna btp_usuario que solo acepta 50 caracteres.

Podrías probar a modificar la estructura de la tabla, cambiando a VARCHAR(MAX) las columnas VARCHAR(4000), así no va a dar el error anterior y podrías ver el error real que pudiera estar dando el reporte.

link

answered 16 Jun '15, 08:50

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Se hicieron los cambios en la tabla, pero al intentar volverlo a ejecutar ahora se presenta otra excepción relacionada con la Autenticación 'NTLM', la cual en teoría se había corregido al asignar accesos a los usuarios Evo. Ademas el reporte tiene el parámetro oculto código compañía , y con cada ejecución le agrega al valor lo siguiente "CodCompania = ", así por ejemplo, si se intento ejecutar 3 veces aparece como: "CodCompania = CodCompania =CodCompania = 1". Esto no pasa si se pone visible.

(19 Jun '15, 08:59) Valentino Lopez Valentino%20Lopez's gravatar image
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:

×12
×3
×1

Asked: 15 Jun '15, 11:24

Seen: 2,069 times

Last updated: 19 Jun '15, 08:59

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