BASE DE CONOCIMIENTO

Limitaciones al tamaño de archivo y de los datos con las fuentes de datos basadas en Jet


Publicado: 11 Apr 2017
Fecha de la última modificación: 20 Jul 2023

Problema

Al intentar conectarse a una fuente de datos basada en el motor de la base de datos de Microsoft Jet, como Excel, Access o un archivo de texto sin formato (CSV), puede que encuentre problemas inesperados relacionados con las limitaciones del motor de la base de datos de Jet. La tecnología de Microsoft Jet se usa con versiones de Tableau Desktop anteriores a la 8.2 para archivos de Excel y CSV o al usar la opción de conector heredado con Tableau Desktop 8.2 y versiones superiores.

Limitaciones conocidas sobre el tamaño de datos o archivos

  • Trabajar con archivos CSV grandes puede ser problemático.
    No hay un límite explícito o documentado para el tamaño de archivo, pero, como guía general, intente que el tamaño de un archivo CSV no sea superior a 4 GB. Aunque se pueda conectar con un archivo CSV de tamaño superior a 4 GB, al usar un extracto se puede dar un error como

    Consulta demasiado compleja

    Además, al intentar conectarse a un archivo CSV de gran tamaño, se puede producir un error que indique que la computadora no tiene espacio en disco temporal suficiente aunque realmente lo tenga.

  • El tamaño de la tabla está limitado a 255 columnas (campos). En la mayoría de los casos, Jet producirá un fallo al llegar al límite de 255 columnas.

  • La unión contiene más de 255 columnas (campos). Si una unión contiene más de 255 columnas, aparecerá el siguiente error: 

    Error de la base de datos 0x800004005: Demasiados campos definidos

    Nota: las uniones pueden contener más de 255 columnas si se usa una declaración UNION ALL en la consulta SQL personalizada.Si se usa UNION ALL, el número total de columnas de la unión equivale al número de columnas contado cada vez que se usa la declaración UNION ALL. Esto podría provocar que el número de columnas superara el límite. Por ejemplo, imagine que tiene UNION ALL en 3 tablas con 102 columnas cada una. La declaración, SELECT * FROM "Table1" UNION ALL SELECT * FROM "Table2" UNION ALL SELECT * FROM “Table3” contará 306 columnas y, por lo tanto, superará el límite de columnas de Jet.

  • Es posible que se trunquen los campos de nota de las fuentes de datos de Access que superen los 255 caracteres.

  • Los nombres de tablas y archivos están limitados a 64 caracteres. Si un nombre de una tabla o un archivo sobrepasa el límite de 64 caracteres, al conectarse a la fuente de datos desde Tableau, puede recibir uno de los siguientes mensajes de error:
    • Ocurrió un error durante la comunicación con la fuente de datos <nombre-archivo-fuente-datos>… con una sugerencia adicional para comprobar los permisos.
    • <data-source-file-name> no es un nombre de archivo válido…. Compruebe que no haya puntuación ni otros caracteres no válidos en el nombre de archivo.
    • No se puede abrir el archivo de texto…. Revise el tipo de archivo y los permisos que tiene.
    • La tabla <nombre-tabla> no existe.
  • Los nombres de campos están limitados a 255 caracteres. Aunque Jet puede leer campos con nombres que son más largos, muchas operaciones que realiza en esos campos causan un error "Desconocido". Esta limitación también puede hacer que los campos desaparezcan sin indicarlo al crear una extracción.

Entorno

  • Tableau Desktop
  • Windows
  • Excel
  • Access
  • Archivos de texto (CSV)

Solución

Soluciones alternativas

  • Si la causa del problema que ha encontrado es un nombre de columna, tabla o archivo que sobrepasa el número limitado de caracteres, la forma más fiable de resolver el problema consiste en cambiar el nombre al nivel de fuente de datos.
  • Si tiene una fuente de datos que contiene más de 255 columnas o el tamaño de archivo de la fuente de datos es excepcionalmente grande, quizá pueda conectarse a la fuente de datos desde Tableau si separa antes la tabla en secciones más pequeñas (cada una con menos de 255 columnas). A continuación, en Tableau, conéctese mediante varias tablas y uniones. Para ello, necesitará utilizar un campo como clave única para la unión. Por ejemplo, cree un campo de número de fila convertido en tipo de datos de cadena.
Nota: aunque esta solución le permita conectarse a los datos, al seleccionar Ver datos, puede que obtenga el siguiente error: 
Error de la base de datos 0x800004005: Demasiados campos definidos.
  • Si después de conectarse a las tablas el rendimiento es bajo, puede que desee realizar una extracción.
  • Si recibe un error que indica que su equipo no dispone de suficiente espacio en disco aunque lo tenga, busque en la carpeta Windows Temp un archivo .tmp cuyo nombre empiece por JET y el tamaño del archivo sea, aproximadamente, de 2 GB.

Causa

Esto se debe al límite de tamaño de 2 GB para archivos temporales que genera Jet.

Información adicional


Las limitaciones de Jet pueden ocurrir en:
  • Libros de trabajo creados en la versión Tableau Desktop 8.1 y anteriores
  • Fuentes de datos de un archivo de texto y Excel
  • Fuentes de datos de Microsoft Access
  • Libros de trabajo que usan conexiones heredadas basadas en jet (consulte la nota Importante)
Para evitar las limitaciones del motor de datos de Jet, le recomendamos actualizar las fuentes de datos de archivo de texto o Excel.

Nota: Otra posible causa de que se produzca un error "Desconocido" puede ser la existencia de controladores de Jet obsoletos o dañados.

IMPORTANTE: A partir de la versión Tableau 2019.1, no será posible crear nuevas conexiones heredadas a Excel ni archivos de texto.Los libros de trabajos creados con estas conexiones heredadas seguirán en funcionamiento hasta la versión 2019.2, tras la que se eliminará el soporte para todas estas conexiones heredadas.Consulte el documento Alternativas de conexiones heredadas en la comunidad de Tableau para ver opciones alternativas para utilizar las conexiones heredadas.


¿Fue de ayuda este artículo para resolver el problema?