# Teradata

Teradata is alleen beschikbaar als doel in Qlik Talend Cloud-datareplicatieprojecten. De verbinding maakt gebruik van de Teradata Parallel Transporter (TPT) API voor het laden van gegevens en ODBC voor metagegevensquery's, DDL-verzoeken en informatie uit Teradata-fouttabellen.

## Stel de verbinding in

Voordat u een replicatietaak maakt, maakt en test u een verbinding met het Teradata-doel.

1. Klik in Verbindingen op Verbinding maken.
2. Selecteer de Teradata-doelconnector.
3. Voer de verbindingseigenschappen in die worden beschreven in [Teradata-verbindingseigenschappen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm#ConnectionProperties).
4. Klik op Verbinding testen en los eventuele gemelde fouten op.
5. Sla de verbinding op.

## Teradata-verbindingseigenschappen

Configureer de volgende eigenschappen voor de Teradata-doelverbinding:

Eigenschappen van Teradata-doelverbinding

| Sectie | Eigenschap | Beschrijving |
| --- | --- | --- |
| Gegevensdoel | Gegevensgateway (vereist) | Selecteer de gegevensgateway die de Teradata-server kan bereiken en waarop de vereiste Teradata-clientonderdelen zijn geïnstalleerd. |
| Verbindingseigenschappen | Teradata-server(s) (vereist) | Voer de Teradata-servernaam of het IP-adres in. Zorg ervoor dat de server bereikbaar is vanaf de geselecteerde gegevensgateway. |
| Accounteigenschappen | Gebruiker (verplicht) | Voer de gebruikersnaam van de Teradata-database in. Dit is een databasereferentie, niet de accounttekenreeks. |
| Wachtwoord (verplicht) | Voer het wachtwoord van de gebruiker van de Teradata-serverdatabase in. Dit is een databasereferentie, niet de accounttekenreeks. |  |
| Accounttekenreeks | Voer de accounttekenreeks in die de Teradata-databasebeheerder aan de gebruiker heeft toegewezen. Dit is het aanmeldaccount voor de databaseserver en verschilt van de inloggegevens voor Gebruiker en Wachtwoord. |  |
| Database-eigenschappen | Databasenaam handmatig opgeven | Selecteer deze optie om de databasenaam in te voeren. |
| Standaarddatabase (verplicht) | Voer de Teradata-database in waarin gegevens worden gerepliceerd. De database moet toegankelijk zijn voor de opgegeven gebruiker. |  |
| Databases laden | Klik om databases te detecteren die beschikbaar zijn voor de opgegeven gebruiker. De lijst is afhankelijk van een succesvolle verbinding en de databaserechten van de gebruiker. |  |
| Extra verbindingseigenschappen | ODBC-eigenschappen | Voer aanvullende ODBC-verbindingseigenschappen in als Naam- en Waarde-paren. Controleer de eigenschapsnamen en -waarden bij uw Teradata- of ODBC-beheerder. |

## Vereisten

Bereid de Teradata-omgeving en de voor de verbinding vereiste toegang voor voordat u de doelverbinding maakt.

* Zorg ervoor dat de Teradata-server in uw netwerk is geïnstalleerd en bereikbaar is vanaf de computer waarop de geselecteerde gegevensgateway wordt uitgevoerd.
* Installeer en configureer het Teradata ODBC-stuurprogramma en de vereiste Teradata-clientonderdelen op de gegevensgateway. Ga er niet van uit dat een stuurprogramma dat op een andere computer is geïnstalleerd, beschikbaar is voor de gateway.
* Vraag een Teradata-databasebeheerder om een databasegebruiker aan te maken of te identificeren en het wachtwoord en de accounttekenreeks van de gebruiker te verstrekken, indien vereist.

Als u de Teradata-doelfunctionaliteit aanpast aan uw omgeving, vraag dan een Teradata-databasebeheerder te controleren of de volgende bevoegdheden vereist zijn voor uw taak. De machtigingen zijn van toepassing op de doeldatabase, tenzij anders aangegeven; dit zijn niet noodzakelijkerwijs de minimale machtigingen voor elke Qlik Talend Cloud-taak:

* `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>`

De databasegebruiker heeft mogelijk ook de volgende machtiging nodig voor streamverwerking:

* `GRANT CREATE MACRO ON <database>`

## Toegang verlenen tot de Teradata-database

De gebruiker die is ingevoerd in de eigenschap User van de verbinding moet als gebruiker zijn geregistreerd in de Teradata-database. Een Teradata-databasebeheerder moet deze zelfde gebruiker toegang verlenen voordat u de Teradata-doelverbinding en -database configureert. Gebruik de aanmeldgegevens voor deze geregistreerde gebruiker in de eigenschappen User en Password van de verbinding.

Zie voor de vereiste machtigingen de bestaande lijst met machtigingen in de [vereisten](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm#Prerequisites).

## Bewerk het hosts-bestand

Om de geselecteerde datagateway toegang te geven tot de Teradata-database, voegt u de Teradata-toewijzing toe aan het hosts-bestand op de datagateway-machine.

1. Open op de geselecteerde datagatewaymachine het Windows- of Linux-hostsbestand. De standaardpaden zijn:

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

2. Voeg de Teradata-toewijzing toe in de volgende indeling. Voeg het achtervoegsel `cop1` toe na de databasenaam:

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

   Bijvoorbeeld: `123.123.123.1 teradatadbonecop1`

   Zorg ervoor dat de databasenaam in het hosts-bestand overeenkomt met de verbindingseigenschap Standaarddatabase.

3. Sla de wijzigingen op.

## Verbindingsfouten oplossen

Als de verbindingstest mislukt, bekijk dan de gemelde fout en controleer de volgende items voordat u de verbinding opnieuw test:

* **Gateway of netwerk:** Controleer of de geselecteerde gegevensgateway actief is en de Teradata-server kan bereiken. Controleer de servernaam of het IP-adres en eventuele netwerkregels tussen de gateway en de server.
* **Stuurprogramma of client:** Controleer of het Teradata ODBC-stuurprogramma en de vereiste clientonderdelen zijn geïnstalleerd en geconfigureerd op de geselecteerde gateway. Een stuurprogramma dat op de lokale computer is geïnstalleerd, wordt niet gebruikt door een externe gateway.
* **Aanmeldgegevens of machtigingen:** Controleer de hoofdlettergevoelige Gebruiker en het Wachtwoord, de optionele Accounttekenreeks en de vereiste databaserechten bij een DBA.
* **Databasedetectie:** Als Databases laden geen databases of een fout retourneert, test dan eerst de connectiviteit en controleer vervolgens of de gebruiker de databases kan detecteren en benaderen. U kunt een bekende database invoeren met Databasenaam handmatig invoeren, indien van toepassing.
* **ODBC-eigenschappen:** Controleer elk Naam- en Waardepaar op spelling, ondersteunde waarden en conflicten met de stuurprogrammaconfiguratie. Verwijder een optionele eigenschap die ervoor zorgt dat de verbindingstest mislukt, of vraag een ODBC-beheerder om deze te verifiëren.

## Gegevenstypen

De volgende tabel beschrijft de standaardtoewijzingen van Qlik Talend Cloud-gegevenstypen naar Teradata-gegevenstypen.

Informatie

Teradata biedt geen ondersteuning voor het toepassen van wijzigingen op binaire gegevenstypen in de modus Batch optimized apply.

Toewijzingen van Teradata-doelgegevenstypen

| Qlik Talend Cloud-gegevenstype | Teradata-gegevenstype |
| --- | --- |
| BOOLEAN | BYTEINT |
| BYTES | VARBYTE (grootte). De maximale grootte is 640.000 bytes. |
| DATE | DATE |
| TIME | TIME (precisie) |
| DATETIME | TIMESTAMP (precisie) |
| INT1 | BYTEINT |
| INT2 | SMALLINT |
| INT4 | INTEGER |
| INT8 | BIGINT |
| NUMERIC | Als de schaal 0 tot en met 37 is, NUMERIC (precisie, schaal). Als de schaal 38 of groter is, VARCHAR (45). |
| REAL4 | FLOAT Teradata FLOAT is equivalent aan REAL en DOUBLE PRECISION. |
| REAL8 | FLOAT |
| STRING | VARCHAR (grootte), maximaal 64.000 bytes. Als het subtype JSON is, wordt in plaats daarvan JSON gebruikt. |
| UINT1 | BYTEINT |
| UINT2 | SMALLINT |
| UINT4 | INTEGER |
| UINT8 | BIGINT |
| WSTRING | VARCHAR (grootte), tot 640.000 bytes. Als het subtype JSON is, wordt in plaats daarvan JSON gebruikt. |
| BLOB | VARBYTE(${MAX\_LOB\_SIZE}). MAX\_LOB\_SIZE is de maximale LOB-grootte die is opgegeven voor LOB-verwerking met beperkte grootte. |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/teradata-target.htm)CLOB | VARCHAR(${MAX\_LOB\_SIZE}), met behulp van een hoofdletterongevoelige Unicode-tekenset. MAX\_LOB\_SIZE is de maximale LOB-grootte die is opgegeven voor LOB-verwerking met beperkte grootte. Als het subtype JSON is, wordt in plaats daarvan JSON gebruikt. |
| NCLOB | VARCHAR(${MAX\_LOB\_SIZE}), met gebruik van een hoofdletterongevoelige tekenset. MAX\_LOB\_SIZE is de maximale LOB-grootte die is opgegeven voor LOB-verwerking met beperkte grootte. Als het subtype JSON is, wordt in plaats daarvan JSON gebruikt. |

Informatie

**LOB-beperkingen:** Teradata ondersteunt geen volledige LOB-gegevenstypen. Het doel gebruikt in plaats daarvan LOB-toewijzingen met een beperkte grootte. De totale grootte van een Teradata-rij mag niet groter zijn dan 64 KB, dus neem de grootte van alle kolommen mee bij het instellen van de maximale LOB-grootte.

Voor CLOB- en NCLOB-kolommen worden tekenlengtes standaard met drie vermenigvuldigd om NLS te ondersteunen. Dit kan de resulterende Teradata-kolom- en -rijgrootten vergroten.

Het Teradata-gegevenstype PERIOD wordt niet ondersteund.

## Beperkingen en overwegingen

* De beschikbare replicatiemodi zijn Volledig laden, Wijzigingen toepassen en Wijzigingen opslaan.
* Voor taken die Wijzigingen toepassen of Wijzigingen opslaan gebruiken, worden DDL-bewerkingen en automatische schema-evolutie niet ondersteund. Deze beperking is niet van toepassing op een taak met alleen Full load.
* Voor de modus Load moet de doeltabel leeg zijn en mag deze geen secundaire indexen bevatten. Selecteer Stream wanneer de taak doorlopende DML-verwerking of gelijktijdige tabelquery's vereist.

## Gerelateerde informatie

* [Een replicatieproject maken](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm)