¡Hola, chicos!

Durante la creación de mi artículo. SQL Server Reporting Services (SSRS): ¿a qué informes se accede más? ¿Y cuáles no se utilizan? (que acabo de publicar), encontré algunos errores al probar la conectividad con la base de datos a través del Power BI Report Server, que había instalado hace unos minutos para este artículo, donde al intentar devolver los datos al hacer clic en el botón “Cargar datos”, en la pestaña “Visualización de datos”, presentaba el error como se muestra a continuación:

Transcripción del mensaje de error:

Ha ocurrido un error.

El conjunto de datos no se pudo procesar.
Hubo un problema al obtener datos del servicio web del servidor de informes.

Probé la conectividad de mi fuente de datos y funcionó normalmente:

Cuando probé con Report Builder, tampoco hubo problemas:

Entonces comenzamos a investigar más el problema. El primer paso es analizar los registros de Power BI Report Server, que normalmente se encuentran en el directorio “C:\Program Files\Microsoft Power BI Report Server\PBIRS\LogFiles”:

Analizando el archivo de registro, en el momento aproximado en que intenté ver los datos y se generó el error, identifiqué el siguiente mensaje de error:

extensionfactory!ReportServer_0-3!16c4!12/22/2018-10:46:03:: e ERROR: Se detectó una excepción al crear una instancia de la extensión del servidor de informes ORACLE: System.Reflection.TargetInvocationException: el objetivo de una invocación lanzó una excepción. —> Sistema.ArgumentException: No se puede encontrar el proveedor de datos .Net Framework solicitado. Puede que no esté instalado.
en System.Data.Common.DbProviderFactories.GetFactory(Proveedor de cadenaInvariantName)
en Microsoft.ReportingServices.DataExtensions.OracleClientConnectionWrapper..ctor()

Parecía ser un problema de controlador en el propio servidor de Reporting Services. Como el mensaje habla sobre .Net Framework Data Provider, fui a confirmar si .NET Framework estaba instalado y realmente así era.

El siguiente paso fue analizar el archivo machine.config de .NET Framework para validar que las entradas del controlador fueran correctas. el archivo máquina.config Generalmente se encuentra en “C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config” y al abrir el archivo y verificar las entradas del proveedor en System.Data, identifiqué que había un problema allí, ya que estaba vacío:

Una de las soluciones fue intentar reinstalar Microsoft .NET Framework para ver si se generarían registros en machine.config, pero esta solución llevaría mucho tiempo. Como alternativa, abrí el archivo machine.config de .NET Framework 2.0, generalmente ubicado en “C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG”, y verifiqué si los registros eran válidos:

¡Belleza! Los registros se completan en .NET Framework 2.0. Copié los registros System.Data de Framework 2.0 machine.config y reemplacé los que estaban en Framework 4.0 (que estaban vacíos). Después de este cambio, intenté ejecutar la opción “Vista previa de datos” en Power BI Report Server nuevamente y el error siguió apareciendo en la pantalla, pero al analizar el registro, el mensaje ahora cambió:

El mensaje de error ahora indica un problema de permisos al acceder a la base de datos "dirceuresende", que utiliza el conjunto de datos compartido. El problema de conexión quedó entonces resuelto y bastaba con crear un usuario para este login en la base de datos de destino y conceder acceso selecto a la tabla utilizada para que el problema se resolviera definitivamente:

¿Aún no conoces Power BI Report Server? ¿Quieres saber más sobre esta herramienta? No olvides revisar mi artículo. Vídeo – Power BI vs Reporting Services: ¿Quién es mejor?.

¡Eso es todo, amigos!
¡Un fuerte abrazo y hasta luego!

Nota: Todo lo que se demuestra en este artículo se aplica tanto a Power BI Report Server como a SQL Server Reporting Services (SSRS), ya que ambos usan la misma estructura.