Conexión a una base de datos de Oracle con Power BI Desktop

Para conectarse a una base de datos de Oracle con Power BI Desktop, en el equipo donde se ejecute Power BI Desktop debe estar instalado el software cliente de Oracle correcto. El software cliente de Oracle que use depende de la versión que Power BI Desktop que haya instalado: 32 bits o 64 bits. También depende de la versión del servidor de Oracle.

Versiones de Oracle compatibles:

  • Oracle Server 9 y versiones posteriores
  • Software Oracle Data Access Client (ODAC) 11.2 o versiones posteriores

Antes de poder conectarse a una base de datos de Oracle con Power BI, debe instalar el software Oracle Data Access Client (ODAC) 11.2 o una versión superior en el equipo. Para instalar el software ODAC de 32 bits, vaya a 32-bit Oracle Data Access Components (12.1.0.2.4) o elija la versión que prefiera. Para instalar el software ODAC de 64 bits, vaya a 64-bit Oracle Data Access Components (12.1.0.2.4) o elija la versión que prefiera. Debe elegir una versión de Windows Installer, ya que la versión de x-copy no funciona con Power BI Desktop.

Del archivo Léame de Oracle:

"A partir de ODAC 18c ya no se admite la configuración de todo el equipo. Los administradores todavía pueden colocar ODP.NET en la GAC y agregar manualmente el controlador de la sección de configuración y la información de DbProviderFactory a machine.config si quieren invalidar la configuración de ODP.NET para aplicaciones individuales".

Una vez que se haya instalado Oracle 18.x/19.x, el cliente tendrá que seguir estas instrucciones: Registro de controladores de Oracle para Power BI Desktop

Si va a configurar una base de datos de Oracle para Power BI Desktop, una puerta de enlace de datos local o Power BI Report Server, consulte la información del artículo Tipo de conexión de Oracle.

Determinación de versión instalada de Power BI Desktop

Para determinar la versión de Power BI Desktop instalada, en la cinta de opciones Ayuda, seleccione Acerca de y, después, revise la línea Versión. En la siguiente imagen, hay instalada una versión de 64 bits de Power BI Desktop:

Versión de Power BI Desktop

Instalación del cliente de Oracle

Nota

Elija una versión de Oracle Data Access Client (ODAC) que sea compatible con el servidor de Oracle. Por ejemplo, ODAC 12.x no siempre es compatible con la versión 9 de Oracle Server. Elija el instalador de Windows del cliente de Oracle. Durante la configuración del cliente de Oracle, asegúrese de habilitar Configurar los proveedores de ODP.NET y/o Oracle para ASP.NET en el nivel de equipo mediante la casilla correspondiente en el asistente para la instalación. Algunas versiones del asistente para clientes de Oracle activan la casilla de forma predeterminada y otras no. Asegúrese de que la casilla está activada para que Power BI pueda conectarse a la base de datos de Oracle.

Conectarse a una base de datos de Oracle

Después de instalar el controlador cliente de Oracle que corresponda, puede conectarse a una base de datos de Oracle. Para conectarse a una base de datos de Oracle con la puerta de enlace de datos local, en el equipo donde se ejecute la puerta de enlace debe estar instalado el software cliente de Oracle correcto. El software cliente de Oracle que use dependerá de la versión del servidor de Oracle, pero siempre coincidirá con la puerta de enlace de 64 bits. Para más información, vaya a Administrar el origen de datos: Oracle.

Controladores de 64 bits y de 32 bits para Power BI Desktop

Power BI Desktop usa ODP.NET no administrado para la creación de informes de Power BI. Cuando usa controladores posteriores a Oracle ODAC 12.2, no tiene más que seguir los pasos siguientes. Para los controladores ODAC 12.2 y de versiones anteriores, al instalar ODAC, tiene la opción de incluir automáticamente la configuración de ODP.NET no administrado en el nivel de máquina.

En los pasos de las dos secciones siguientes se presupone que instaló los archivos de ODAC 18.x en la carpeta c:\oracle64 para las versiones de 64 bits de Power BI Desktop o en la carpeta c:\oracle32 para las versiones de 32 bits. Siga estos pasos para registrar ODP.NET no administrado:

Power BI Desktop de 64 bits

  1. En el sitio de descarga de Oracle, instale Oracle Universal Installer (OUI) de ODAC para Oracle de 64 bits.

  2. Registre el cliente de ODP.NET no administrado en GAC:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

  3. Agregue las entradas del cliente de ODP.NET no administrado al archivo machine.config:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

Power BI Desktop de 32 bits

  1. En el sitio de descarga de Oracle, instale Oracle Universal Installer (OUI) de ODAC para Oracle de 32 bits.

  2. Registre el cliente de ODP.NET no administrado en GAC:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

  3. Agregue las entradas del cliente de ODP.NET no administrado al archivo machine.config:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

Funcionalidades admitidas

  • Importar
  • DirectQuery
  • Opciones avanzadas
    • Tiempo de espera del comando en minutos
    • Instrucción SQL
    • Incluir columnas de relación
    • Navegar usando la jerarquía completa

Siga estos pasos para establecer la conexión:

  1. En la cinta de opciones Inicio, seleccione Obtener datos.

  2. En la ventana Obtener datos que aparece, seleccione Más (si es necesario), seleccione Base de datos>Base de datos de Oracle y después Conectar.

    Conexión a la base de datos Oracle

  3. En el cuadro de diálogo Base de datos de Oracle que aparece, proporcione el nombre del servidor y seleccione Aceptar. Si se requiere un SID, especifíquelo con el formato siguiente: NombreDeServidor/SID, donde SID es el nombre único de la base de datos. Si el formato NombreDeServidor/SID no funciona, use NombreDeServidor/NombreDeServicio, donde NombreDeServicio es el alias que se usa para conectarse. Para otras propiedades de la cadena de conexión, consulte aquí.

    Escriba el nombre del servidor de Oracle

    Nota

    Si está utilizando una base de datos local, o conexiones a bases de datos autónomas, es posible que deba colocar el nombre del servidor entre comillas para evitar errores de conexión.

  4. Seleccione el modo de conectividad de datos de Importación o DirectQuery. En el resto de estos pasos de ejemplo, se usa el modo de conectividad de datos de Importación. Para más información sobre DirectQuery, vaya a Usar DirectQuery en Power BI Desktop.

  5. Si quiere importar datos con una consulta de base de datos nativa, incluya la consulta en el cuadro Instrucción SQL, que aparece al expandir la sección Opciones avanzadas del cuadro de diálogo Base de datos de Oracle. Power BI Desktop no admite consultas nativas de Oracle que ejecuten un procedimiento almacenado. Las consultas nativas de Oracle en el bloque "begin... end" no devuelven ningún conjunto de resultados.

    Expansión de Opciones avanzadas

  6. Una vez que haya escrito la información de la base de datos de Oracle en el cuadro de diálogo Base de datos de Oracle (incluida toda información opcional, como un SID o una consulta de base de datos nativa), seleccione Aceptar para conectarse.

  7. Si la base de datos de Oracle necesita credenciales del usuario de la base de datos, ingréselas en el cuadro de diálogo cuando se le solicite hacerlo.

Solución de problemas

Es posible que se produzcan varios errores en Oracle si la sintaxis de los nombres no es correcta o no está configurada correctamente:

  • ORA-12154: TNS:no se ha podido resolver el identificador de conexión especificado.
  • ORA-12514: TNS: el cliente de escucha de TNS no conoce actualmente el servicio solicitado en el descriptor de conexión.
  • ORA-12541: TNS:no hay ningún listener.
  • ORA-12170: TNS:error de tiempo de espera de conexión.
  • ORA-12504: TNS: no se ha proporcionado el parámetro SERVICE_NAME de CONNECT_DATA al cliente de escucha.

Estos errores podrían producirse si el cliente de Oracle no está instalado o no se ha configurado correctamente. Si está instalado, compruebe que el archivo tnsnames.ora esté configurado correctamente y que usa el parámetro net_service_name adecuado. También tendrá que asegurarse de que net_service_name sea el mismo en la máquina en donde se usa Power BI Desktop y la que ejecuta la puerta de enlace. Para obtener más información, vea Instalación del cliente de Oracle.

También es posible que encuentre un problema de compatibilidad entre la versión del servidor de Oracle y la de Oracle Data Access Client. Normalmente, le interesa que estas versiones coincidan, ya que algunas combinaciones son incompatibles. Por ejemplo, ODAC 12.x no es compatible con la versión 9 de Oracle Server.

Si ha descargado Power BI Desktop desde Microsoft Store, es posible que no pueda conectarse a bases de datos de Oracle debido a un problema con el controlador de Oracle. Si se produce este problema, el mensaje de error que se devuelve es: Referencia a objeto no establecida. Se trata de un problema con la forma en que funciona el controlador de Oracle en las aplicaciones para UWP de Windows. Para solucionar el problema, debe hacer lo siguiente:

Si ve el mensaje de error Referencia de objeto no establecida en Power BI Gateway al conectarse a una base de datos de Oracle, siga las instrucciones de Administración del origen de datos: Oracle.

Si usa Power BI Report Server, consulte las instrucciones del artículo Tipo de conexión de Oracle.

Al conectarse a una base de datos de Oracle, es posible que el cliente de Oracle deba tener configurada correctamente la compatibilidad con el idioma nacional si en alguna de las vistas o consultas subyacentes se usan funciones con un comportamiento específico de la configuración regional (como TO_DATE o TO_CHAR). En Windows, se puede configurar el parámetro NLS_LANG en la ruta del Registro HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\<KEY_HOME_NAME>. Para obtener más información, consulte la documentación de Oracle. Si usa Power BI Gateway para conectarse a Oracle, la configuración NLS_LANG del Registro deberá actualizarse en la máquina donde están instalados la puerta de enlace y el cliente de Oracle.