Condividi tramite


Errore (Il nome< dell'estensione >dati personalizzata selezionata non è installato o non può essere caricato) quando si caricano estensioni personalizzate in SQL Server 2012 Data Tools

Questo articolo illustra come risolvere il problema in cui viene visualizzato un messaggio di errore quando si tenta di caricare estensioni personalizzate nei progetti del server di report in SQL Server 2012 Data Tools.

Si applica a: SQL Server 2012 Enterprise, SQL Server 2012 Business Intelligence, SQL Server 2012 Developer, SQL Server 2012 Standard, SQL Server 2012 Web
Numero KB originale: 2750044

Sintomi

Si consideri lo scenario seguente:

  • Si sviluppa un'estensione personalizzata per l'elaborazione dati di Reporting Services.
  • L'assembly dell'estensione per l'elaborazione dati personalizzata fa riferimento a un file Microsoft.ReportingServices.Interfaces.dll. Il file è incluso in Microsoft SQL Server 2005 Reporting Services, SQL Server 2008 Reporting Services o SQL Server 2008 R2 Reporting Services.
  • È possibile installare SQL Server Data Tools (SSDT) in Microsoft SQL Server 2012.
  • L'assembly dell'estensione per l'elaborazione dati viene distribuito tramite SSDT.
  • Si crea un nuovo progetto server di report basato sul modello di Business Intelligence e si tenta di selezionare l'estensione per l'elaborazione dati personalizzata per aggiungere una nuova origine dati.

In questo caso, è possibile che venga visualizzato un messaggio di errore analogo al seguente:

Impossibile connettersi all'origine dati '<Nome> origine dati'. L'estensione dati selezionata '<Custom Extension Name>' non è installata o non può essere caricata. Verificare che l'estensione dati selezionata sia installata nel client per i report locali e nel server di report per i report pubblicati.

Annotazioni

  • Nome origine dati è un segnaposto per il nome dell'origine dati e Nome estensione personalizzata è un segnaposto per il nome dell'estensione personalizzata.

  • Se si carica l'estensione personalizzata in qualsiasi report di SQL Server Reporting Services (SSRS) e quindi si esegue il report tramite un servizio Web SSRS o un'interfaccia Web, l'estensione personalizzata viene eseguita correttamente.

  • Questo problema non è limitato alle estensioni per l'elaborazione dati. È possibile che si verifichino errori simili quando un'estensione personalizzata fa riferimento al file Microsoft.ReportingServices.Interfaces.dll incluso in SQL Server 2005 Reporting Services, SQL Server 2008 Reporting Services o SQL Server 2008 R2 Reporting Services.

Motivo

Il problema si verifica a causa di un bug nel processo di installazione di SSDT.

Quando SSDT è installato, le voci non corrette seguenti vengono aggiunte al file devenv.exe.config e al file PreviewProcessingService.exe.config :

<dependentAssembly>
    <assemblyIdentity name="Microsoft.ReportingServices.Interfaces" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
    <bindingRedirect oldVersion="9.0.242.0" newVersion="10.0.0.0"/>
</dependentAssembly>

Se un'estensione personalizzata fa riferimento al file Microsoft.ReportingServices.Interfaces.dll la cui versione dell'assembly è 9.0.242.0, SSDT cercherà il file Microsoft.ReportingServices.Interfaces.dll la cui versione dell'assembly è 10.0.0.0. Tuttavia, questo assembly più recente potrebbe non esistere nel computer in cui è installato SSDT.

Risoluzione

Per risolvere questo problema, usare le voci corrette nel file devenv.exe.config e nel file PreviewProcessingService.exe.config.

Per correggere la voce nel file devenv.exe.config , seguire questa procedura:

  • Aprire il file devenv.exe.config nel percorso: %Program Files%\Microsoft Visual Studio 10.0\Common7\IDE.

    Annotazioni

    Il file PreviewProcessingService.exe.config si trova in %Program Files%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies.

  • Nel file devenv.exe.config individuare la voce seguente:

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.ReportingServices.Interfaces" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
        <bindingRedirect oldVersion="9.0.242.0" newVersion="10.0.0.0"/>
    </dependentAssembly>
    
  • Sostituire la voce con quanto segue:

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.ReportingServices.Interfaces" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <assemblyIdentity name="Microsoft.ReportingServices.Interfaces" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="8.0.242.0" newVersion="11.0.0.0" />
        <bindingRedirect oldVersion="9.0.242.0" newVersion="11.0.0.0" />
        <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
    </dependentAssembly>
    
  • Salvare il file devenv.exe.config .

  • Chiudere e quindi riaprire Visual Studio o SSDT.

Annotazioni

I passaggi per correggere la voce nel file PreviewProcessingService.exe.config sono gli stessi.