# Teradata

Teradata solo está disponible como destino en proyectos de replicación de datos de Qlik Talend Cloud. La conexión utiliza la API de Teradata Parallel Transporter (TPT) para la carga de datos y ODBC para consultas de metadatos, solicitudes DDL e información de las tablas de errores de Teradata.

## Configurar la conexión

Antes de crear una tarea de replicación, cree y pruebe una conexión con el destino Teradata.

1. En Conexiones, haga clic en Crear conexión.
2. Seleccione el conector de destino Teradata.
3. Introduzca las propiedades de conexión descritas en [Propiedades de conexión de Teradata](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm#ConnectionProperties).
4. Haga clic en Probar conexión y resuelva los errores notificados.
5. Guarde la conexión.

## Propiedades de conexión de Teradata

Configure las siguientes propiedades para la conexión de destino de Teradata:

Propiedades de conexión de destino Teradata

| Sección | Propiedad | Descripción |
| --- | --- | --- |
| Destino de datos | Pasarela de datos (obligatorio) | Seleccione la pasarela de datos que pueda acceder al servidor de Teradata y tenga instalados los componentes necesarios del cliente Teradata. |
| Propiedades de conexión | Servidor(es) Teradata (obligatorio) | Indique el nombre del servidor Teradata o la dirección IP. Asegúrese de que el servidor esté accesible desde la pasarela de datos seleccionada. |
| Propiedades de la cuenta | Usuario (obligatorio) | Introduzca el nombre de usuario de la base de datos Teradata. Esta es una credencial de base de datos, no la cadena de cuenta. |
| Contraseña (obligatorio) | Agregue la contraseña del usuario de la base de datos del servidor Teradata. Esta es una credencial de base de datos, no la cadena de cuenta. |  |
| Cadena de cuenta | Agregue la cadena de cuenta que el administrador de la base de datos de Teradata asignó al usuario. Esta es la cuenta de inicio de sesión del servidor de base de datos y es distinta de las credenciales de Usuario y Contraseña. |  |
| Propiedades de la base de datos | Introducir el nombre de la base de datos manualmente | Seleccione esta opción para introducir el nombre de la base de datos. |
| Base de datos predeterminada (obligatorio) | Introduzca la base de datos de Teradata donde se replican los datos. La base de datos debe ser accesible para el usuario especificado. |  |
| Cargar bases de datos | Haga clic para descubrir las bases de datos disponibles para el usuario especificado. La lista depende de que la conectividad sea correcta y de los permisos de base de datos del usuario. |  |
| Propiedades de conexión adicionales | Propiedades de ODBC | Introduzca propiedades de conexión ODBC adicionales como pares de Nombre y Valor. Confirme los nombres y valores de las propiedades con su administrador de Teradata u ODBC. |

## Requisitos previos

Prepare el entorno de Teradata y el acceso requerido por la conexión antes de crear la conexión de destino.

* Asegúrese de que el servidor de Teradata esté instalado en su red y que sea accesible desde el equipo en el que se ejecuta la pasarela de datos seleccionada.
* Instale y configure el controlador ODBC de Teradata y los componentes de cliente de Teradata necesarios en la pasarela de datos. No asuma que un controlador instalado en otro equipo esté disponible para la pasarela.
* Pida a un administrador de bases de datos de Teradata que cree o identifique a un usuario de base de datos y proporcione la contraseña del usuario y la cadena de cuenta, cuando sea necesario.

Si está adaptando la capacidad de destino de Teradata a su entorno, pida a un administrador de bases de datos de Teradata que verifique si se requieren los siguientes privilegios para su tarea. Las concesiones se aplican a la base de datos de destino a menos que se indique lo contrario; no son necesariamente los permisos mínimos para cada tarea de Qlik Talend Cloud:

* `GRANT SELECT ON <database>`
* `GRANT INSERT ON <database>`
* `GRANT DELETE ON <database>`
* `GRANT UPDATE ON <database>`
* `GRANT EXECUTE ON <database>`
* `GRANT EXECUTE FUNCTION ON <database>`
* `GRANT EXECUTE PROCEDURE ON <database>`
* `GRANT CREATE TABLE ON <database>`
* `GRANT DROP TABLE ON <database>`
* `GRANT CREATE VIEW ON <database>`
* `GRANT DROP VIEW ON <database>`
* `GRANT NONTEMPORAL ON <database>`
* `GRANT CHECKPOINT ON <database>`

El usuario de la base de datos también puede requerir el siguiente permiso para el procesamiento de stream:

* `GRANT CREATE MACRO ON <database>`

## Proporcionar acceso a la base de datos Teradata

El usuario introducido en la propiedad Usuario de la conexión debe estar registrado como usuario en la base de datos Teradata. Un administrador de la base de datos Teradata debe conceder acceso a este mismo usuario antes de configurar la conexión de destino y la base de datos Teradata. Utilice las credenciales de este usuario registrado en las propiedades Usuario y Contraseña de la conexión.

Para los permisos necesarios, consulte la lista de permisos existente en los [requisitos previos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm#Prerequisites).

## Editar el archivo hosts

Para permitir que la puerta de enlace de datos seleccionada acceda a la base de datos Teradata, añada la asociación de Teradata al archivo hosts en la máquina de la puerta de enlace de datos.

1. En la máquina de la puerta de enlace de datos seleccionada, abra el archivo hosts de Windows o Linux. Las rutas predeterminadas son:

   * Windows: `~:\Windows\System32\drivers\etc\hosts`
   * Linux: `/etc/hosts`

2. Añada la asociación de Teradata en el siguiente formato. Incluya el sufijo `cop1` después del nombre de la base de datos:

   `<Teradata Database IP address/hostname> <Teradata Database name>cop1`

   Por ejemplo: `123.123.123.1 teradatadbonecop1`

   Asegúrese de que el nombre de la base de datos en el archivo hosts coincida con la propiedad de conexión Base de datos predeterminada.

3. Guarde los cambios.

## Solucionar errores de conexión

Si la prueba de conexión falla, revise el error notificado y compruebe los siguientes elementos antes de volver a probar la conexión:

* **Pasarela o red:** confirme que la pasarela de datos seleccionada se está ejecutando y puede acceder al servidor de Teradata. Compruebe el nombre del servidor o la dirección IP y las reglas de red entre la pasarela y el servidor.
* **Controlador o cliente:** confirme que el controlador ODBC de Teradata y los componentes de cliente necesarios están instalados y configurados en la pasarela seleccionada. Un controlador instalado en el equipo local no es utilizado por una pasarela remota.
* **Credenciales o permisos:** confirme el Usuario y la Contraseña, que distinguen entre mayúsculas y minúsculas, la Cadena de cuenta opcional y los permisos de base de datos requeridos con un DBA.
* **Detección de bases de datos:** si Cargar bases de datos no devuelve ninguna base de datos o genera un error, pruebe primero la conectividad y luego confirme que el usuario puede detectar y acceder a las bases de datos. Puede indicar una base de datos conocida en Introducir el nombre de la base de datos manualmente, si procede.
* **Propiedades de ODBC:** compruebe en cada par de Nombre y Valor la ortografía, los valores admitidos y los posibles conflictos con la configuración del controlador. Elimine una propiedad opcional que haga fallar la prueba de conexión o solicite a un administrador de ODBC que la verifique.

## Tipos de datos

La tabla siguiente describe las asignaciones predeterminadas de correspondencias entre tipos de datos de Qlik Talend Cloud y tipos de datos de Teradata.

Nota informativa

Teradata no admite aplicar cambios a tipos de datos binarios en el modo Aplicación optimizada por lotes.

Asignaciones de correspondencias de tipos de datos de destino de Teradata

| Tipo de datos de Qlik Talend Cloud | Tipo de datos de Teradata |
| --- | --- |
| BOOLEAN | BYTEINT |
| BYTES | VARBYTE (tamaño). El tamaño máximo es de 640.000 bytes. |
| DATE | DATE |
| TIME | TIME (precisión) |
| DATETIME | TIMESTAMP (precisión) |
| INT1 | BYTEINT |
| INT2 | SMALLINT |
| INT4 | INTEGER |
| INT8 | BIGINT |
| NUMERIC | Si la escala es de 0 a 37, NUMERIC (precisión, escala). Si la escala es 38 o superior, VARCHAR (45). |
| REAL4 | FLOAT. Teradata FLOAT es equivalente a REAL y DOUBLE PRECISION. |
| REAL8 | FLOAT |
| STRING | VARCHAR (size), hasta 64.000 bytes. Si el subtipo es JSON, se utiliza JSON en su lugar. |
| UINT1 | BYTEINT |
| UINT2 | SMALLINT |
| UINT4 | INTEGER |
| UINT8 | BIGINT |
| WSTRING | VARCHAR (tamaño), hasta 640.000 bytes. Si el subtipo es JSON, se utiliza JSON en su lugar. |
| BLOB | VARBYTE(${MAX\_LOB\_SIZE}). MAX\_LOB\_SIZE es el tamaño máximo de LOB especificado para el procesamiento de LOB de tamaño limitado. |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm)CLOB | VARCHAR(${MAX\_LOB\_SIZE}), utilizando un juego de caracteres Unicode que no distingue entre mayúsculas y minúsculas. MAX\_LOB\_SIZE es el tamaño máximo de LOB especificado para el procesamiento de LOB de tamaño limitado. Si el subtipo es JSON, se utiliza JSON en su lugar. |
| NCLOB | VARCHAR(${MAX\_LOB\_SIZE}), utilizando un juego de caracteres que no distingue entre mayúsculas y minúsculas. MAX\_LOB\_SIZE es el tamaño máximo de LOB especificado para el procesamiento de LOB de tamaño limitado. Si el subtipo es JSON, se utiliza JSON en su lugar. |

Nota informativa

**Limitaciones de LOB:** Teradata no admite tipos de datos LOB completos. En su lugar, el destino utiliza asociaciones de LOB de tamaño limitado. El tamaño total de una fila de Teradata no puede superar los 64 KB, por lo que debe incluir el tamaño de todas las columnas al establecer el tamaño máximo de LOB.

Para las columnas CLOB y NCLOB, las longitudes de caracteres se multiplican por tres de forma predeterminada para admitir NLS. Esto puede aumentar el tamaño resultante de las columnas y filas de Teradata.

El tipo de datos PERIOD de Teradata no es compatible.

## Limitaciones y consideraciones

* Los modos de replicación disponibles son Carga completa, Aplicar cambios y Almacenar cambios.
* Para las tareas que utilizan Aplicar cambios o Almacenar cambios, no se admiten las operaciones DDL ni la evolución automática del esquema. Esta limitación no se aplica a una tarea de solo Carga completa.
* Para el modo Carga, la tabla de destino debe estar vacía y no debe tener índices secundarios. Seleccione Stream cuando la tarea requiera un procesamiento continuo de DML o consultas simultáneas de tablas.

## Información relacionada

* [Crear un proyecto de replicación](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm)