Solución
A menudo, la corrección de la ruta o la sintaxis para añadir nombres en el cuadro de diálogo Conexión avanzada de Oracle o el uso del nombre de base de datos .WORLD completo resuelve la mayoría de los problemas de conexión de Oracle. Si el error de conexión requiere más opciones de solución de problemas, consulte los cinco errores de conexión más habituales que se describen a continuación.
- ORA-03113: end-of-file on communication channel (fin de archivo en el canal de comunicación)
- ORA-12154: TNS: could not resolve the connect identifier specified: HOST value incorrect or Global name incorrect or unknown (no se pudo resolver el identificador de conexión especificado: valor de HOST incorrecto o nombre Global incorrecto o desconocido)
- ORA-12514: TNS listener does not currently know of service requested in connect descriptor: SERVICE value incorrect (el receptor TNS desconoce el servicio solicitado en el descriptor de conexión: valor SERVICE incorrecto)
- ORA-12541: TNS: no listener: PORT value incorrect (sin receptor: valor PORT incorrecto)
- ORA-00932: inconsistent data types (tipos de datos inconsistentes)
ORA-03113: end-of-file on communication channel (fin de archivo en el canal de comunicación)
ORA-03113 es un error general que aparece para cualquier problema que interrumpa una sesión de Oracle. Las causas de este error pueden ser varias. Consulte la lista que se muestra a continuación para obtener una guía de solución de problemas.
- Consulte la documentación de Oracle específica para este error: My Oracle Support.
- Oracle recomienda que compruebe los problemas de red y revise la configuración de SQL*Net.
- Si se está conectando a Oracle 9.2.0.5, en muchos casos, la causa principal de este error es el error 3010227 de Oracle. Pida a su administrador de base de datos de Oracle que aplique el parche 9.2.0.6 de Oracle u otro parche conveniente para el servidor.
- Establezca el parámetro de inicialización de Oracle 'STAR_TRANSFORMATION_ENABLED' en FALSE.
- Intente cambiar la hora programada para actualizar la extracción.
- De manera alternativa, si desea seguir haciendo pruebas sobre este problema, siga el procedimiento opcional que se describe a continuación.
Paso 1
En la página de inicio de Tableau Desktop, seleccione Conectar a datos.
Paso 2
En la página Conectar, haga clic en Oracle y en Aceptar.
Para obtener más información sobre cómo llevar a cabo los pasos necesarios para establecer la conexión, consulte el tema Base de datos Oracle en la ayuda de Tableau Desktop.
Paso 3
- En el área de unión, sitúe el cursor sobre la tabla de SQL personalizado hasta que se muestre el icono de edición. A continuación, haga clic en el icono.
- Copie la consulta en el cuadro de diálogo Editar SQL personalizada.
SELECT "NumericBins", "Key" as "Key",
"NumericBins", "Measure E-2" AS "Measure E-2",
"NumericBins", "Measure E-1" AS "Measure E-1",
"NumericBins", "Measure E+0" AS "Measure E+0",
"NumericBins", "Measure E+1" AS "Measure E+1",
"NumericBins", "Measure E+4" AS "Measure E+4",
"NumericBins", "Measure E+7" AS "Measure E+7"
FROM "TestV1", "NumericBins" "NumericBins"
Donde "TestV1" es el nombre de la conexión en Tableau.
Paso 4
En una sesión SQL conectada a esta base de datos, pegue la consulta y ejecútela. La respuesta esperada es el error ORA-7445: exception encountered: core dump (ORA-7445: se ha encontrado una excepción: volcado de memoria), lo que confirma que el problema es de tipo ORA-3113 según lo esperado.
ORA-12154: TNS: could not resolve the connect identifier specified (no se pudo resolver el identificador de conexión especificado)
El error ORA-12154 se produce cuando el sustrato de red transparente (TNS) no puede resolver el nombre del servicio. El nombre del servicio se especifica en el archivo TNSNames.ora, que está ubicado en la carpeta %ORACLE_HOME%\network\admin\. Con frecuencia, este error se produce cuando la información del archivo TNSNames.ora no es correcta. Por ejemplo:
- La extensión .world no se incluye en el nombre de base de datos.
- La variable SERVICE_NAME o HOST no es correcta.
Para resolver este problema, intente realizar una de las tres opciones de solución de problemas siguientes, en el orden que se indica a continuación.
Opción 1: Edite TNSNames.ora
Proporcione el nombre de la base de datos completo con la extensión .world en las ubicaciones siguientes:
- El archivo TNSNames.ora.
Y
- El cuadro de texto Servidor de la página Conectar.
Opción 2: Asegúrese de que la cuenta Ejecutar como usuario de Tableau Server tenga permisos para acceder a TNSNames.ora (solo Tableau Server)
Si tiene instalado Tableau Server, lleve a cabo el procedimiento siguiente para comprobar que la cuenta Ejecutar como usuario de Tableau Server tenga permisos para acceder a la ubicación del archivo TNSNames.ora. Si la cuenta Ejecutar como usuario no dispone de permisos, Tableau Server no puede acceder a los detalles de la fuente de datos de Oracle.
Paso 1
Verifique la ubicación del archivo TNSNames.ora, o bien de los archivos SQLNET.ora y LDAP.ora equivalentes en la máquina.
Nota: De forma predeterminada, el archivo TNSNames.ora se encuentra en el directorio <oracle-directory>\network\admin. Por ejemplo, C:\Oracle_Client\network\admin.
Paso 2
Confirme que la variable TNS_ADMIN apunta a la ubicación del archivo o los archivos descritos en el paso 1.
Nota: Para comprobar la variable TNS_ADMIN, haga clic en el botón Inicio y seleccione Panel de control > Sistema. Haga clic en Configuración avanzada del sistema, en la pestaña Opciones avanzadas y luego en el botón Variables de entorno.
El formato de la ruta de la variable del sistema debe ser UNC.
Paso 3
Abra TSM en un navegador: https://<tsm-computer-name>:8850 Para obtener más información, consulte Iniciar sesión en la interfaz web de Tableau Services Manager.
Paso 4
Haga clic en la ficha Seguridad y luego haga clic en la pestaña Cuenta Ejecutar como servicio.
En Servidor, Ejecutar como usuario, copie la información del campo Usuario.
Paso 5
Vaya a la carpeta en la que se encuentra el archivo TNSNames.ora.
Paso 6
Haga clic con el botón derecho en la carpeta y seleccione Propiedades. Haga clic en la pestaña Seguridad y luego en el botón Editar.
Paso 7
En Nombres de grupos o usuarios, haga clic en el botón Agregar.
Paso 8
En el cuadro de texto Escribir los nombres de objeto para seleccionar, pegue los detalles de la cuenta Ejecutar como usuario copiados en el paso 6.
Paso 9
Cuando haya terminado, haga clic en Aceptar.
Paso 10
En el área de permisos, asegúrese de que las casillas de verificación Control total y Modificar estén seleccionadas.
Paso 11
Haga clic en Aceptar para cerrar los cuadros de diálogo.
Opción 3: Compruebe que toda la información de TNSNames.ora sea correcta
Si los pasos de solución de problemas anteriores no resuelven el problema, continúe leyendo y realice el procedimiento para comprobar si el resto de la información del archivo TNSNames.ora es correcta.
A continuación, se muestra un ejemplo del archivo TNSNames.ora:
QAORCL10.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MY_SERVICE_NAME)
)
)
Las tres variables de interés del archivo son HOST, PORT y SERVICE_NAME. Cópielas del archivo TNSNames.ora y téngalas disponibles. Estas variables distinguen mayúsculas de minúsculas. En los pasos siguientes se describe cómo proporcionar estas variables para la conexión.
Paso 1
En la página de inicio de Tableau Desktop, seleccione Conectar a datos.
Paso 2
En la página Conectar, haga clic en Oracle.
Paso 3
Proporcione la siguiente información del archivo TNSNames.ora:
- En el cuadro de texto Nombre de servidor, escriba el nombre del host.
- En el cuadro de texto Servicio, introduzca el valor SERVICE_NAME.
- En el cuadro de texto Puerto, escriba el número de puerto.
- Especifique si desea utilizar la autenticación de Windows o un nombre de usuario y una contraseña específicos y, a continuación, haga clic en Conectar.
Nota: Las variables distinguen mayúsculas de minúsculas.
Paso 4
Seleccione un esquema de la lista desplegable Esquema, arrastre una tabla al área de unión y, a continuación, haga clic en Ir a la hoja de trabajo.
Paso 5
Siga los pasos descritos en el artículo Configurar una conexión Oracle para usar TNSNames.ora o LDAP.ora.
Importante:
- Asegúrese de guardar el archivo TNSNames.ora que se utiliza en codificación ASCII. Cualquier otra codificación distinta de ASCII como, por ejemplo, UTF-8 o Unicode, produce el mensaje de error ORA-12154.
- Estos pasos suelen ser necesarios incluso si el software de Oracle ya está instalado en la máquina.
Paso 6
Descargue e instale los controladores Oracle adecuados de la página Controladores de Tableau. Incluso si instala un controlador Oracle en el equipo, podría no ser compatible con Tableau y necesitar la versión especificada en la página Controladores.
ORA-12514: TNS listener does not currently know of service requested in connect descriptor (el receptor TNS desconoce el servicio solicitado en el descriptor de conexión)
Este error se suele producir cuando el valor SERVICE es incorrecto.
Para resolver el problema, busque el valor SERVICE correcto y abra el archivo TNSNames.ora ubicado en la carpeta %ORACLE_HOME%\network\admin\. Consulte los pasos de ORA_12154 si es necesario.
ORA-12514: TNS: no listener (sin receptor)
Este error se suele producir cuando el valor PORT es incorrecto.
Para solucionar este problema, reemplace el valor PORT por 1521 o 1526. Pruebe el valor que no está en uso actualmente.
ORA-00932: inconsistent data types (tipos de datos inconsistentes)
Este error se produce al conectarse a Oracle o al crear una extracción de una fuente de datos de Oracle. Normalmente, la causa de este error es la instalación de controladores de Oracle incorrectos.
Para resolver este problema, instale los controladores correctos de Oracle de la página Controladores para la versión de Tableau que está utilizando.
Además de los errores habituales anteriores, si está utilizando Tableau Desktop/Server 2020.2 o una versión posterior, y experimenta problemas de rendimiento, como demoras en la actualización de extracción, puede intentar descargar e instalar el controlador OCI de Oracle. Consulte el artículo en Vínculos relacionados. Se puede descargar el controlador desde aquí.