Si verifica un errore di segnalazione dopo il caricamento di un report basato su SQL personalizzato in Microsoft Dynamics CRM

Questo articolo fornisce una soluzione per il problema che potrebbe essere visualizzato Il report non può essere visualizzato. (rsProcessingAborted) errore durante il tentativo di eseguire un report basato su SQL personalizzato caricato in Microsoft Dynamics CRM.

Si applica a: Microsoft Dynamics CRM 2011
Numero KB originale: 2891221

Sintomi

Dopo aver caricato un report basato su SQL personalizzato in Microsoft Dynamics CRM, gli utenti visualizzano l'errore seguente durante il tentativo di eseguire il report:

Segnalazione di un errore
Impossibile visualizzare il report. (rsProcessingAborted)

Se si esaminano i log dei report di SSRS, viene visualizzato l'errore seguente:

Elaborazione! ReportServer_0-4!ef0!09/09/2013-13:21:40:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot create a connection to data source 'CRM'. >--- System.Data.SqlClient.SqlException: accesso non riuscito per l'utente 'NT AUTHORITY\ANONYMOUS LOGON'.
in System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
in System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
in System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
in System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
in System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
in System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
in System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
in System.Data.SqlClient.SqlInternalConnectionTds.. ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
in System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
in System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, dbConnectionPool pool, dbConnectionOptions options)
in System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
in System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
in System.Data.SqlClient.SqlConnection.Open()
in Microsoft.ReportingServices.DataExtensions.ConnectionExtension.Open()
in Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapperBase.Open()
in Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenDataSourceExtensionConnection(IProcessingDataSource dataSourceObj, String connectString, DataSourceInfo dataSourceInfo, String datasetName)
--- fine del --- di traccia dello stack di eccezioni interne;

Errori aggiuntivi potrebbero non essere esattamente uguali, ma simili a quelli precedenti. I dati chiave da cercare sono nella traccia dello stack per gli elementi seguenti:

Stack contiene:
in Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenDataSourceExtensionConnection

L'errore contiene:
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: impossibile creare una connessione all'origine dati 'CRM'. >--- System.Data.SqlClient.SqlException:

Nota

Il percorso di log predefinito di SSRS è DRIVE:\Programmi\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles.

Causa

Il problema è correlato a un'origine dati non valida per il file di report all'interno di SSRS. Se il database dell'organizzazione Microsoft Dynamics CRM non è strutturato come ORG_MSCRM, quando si crea il report in Microsoft Dynamics CRM, manterrà l'origine dati all'interno del file RDL anziché usare i tipi di origine dati associati all'Microsoft Dynamics CRM Reporting Extensions/Data Connector. Il problema è che il catalogo iniziale all'interno del file RDL deve contenere _MSCRM.

Screenshot che mostra che il catalogo iniziale non termina con _MSCRM.

Nota

Il catalogo iniziale non termina con _MSCRM.

Risoluzione

Prima di caricare il report basato su SQL in Microsoft Dynamics CRM, aggiungere _MSCRM al catalogo iniziale.

Screenshot che mostra che il report corretto con _MSCRM si trova alla fine del catalogo iniziale.

Importante

Il catalogo iniziale deve terminare con _MSCRM perché funzioni correttamente.