sql >> Database >  >> RDS >> Oracle

Pentaho Data Integration configureren om de Oracle Wallet voor Oracle Cloud te gebruiken

Inleiding

Oracle Cloud-databases gebruiken de Oracle-portemonneebeveiliging. De Oracle Wallet bevat cryptografische certificaten en sleutels die worden gebruikt om veilige, versleutelde communicatie tot stand te brengen tussen een Oracle-client en de beoogde Oracle-databaseserver. Pentaho Data Integration kan worden geconfigureerd om de Oracle Wallet te gebruiken om veilige communicatie tot stand te brengen tussen PDI en een Oracle-cloudserver.

Deze tutorial gaat ervan uit dat je de volgende componenten hebt ingesteld:

  • Een Oracle Cloud-account waarop ten minste één Oracle-database-instantie actief is. Deze tutorial (link hier) biedt de stappen om een ​​Oracle Cloud-account en Autonomous Database in te stellen. Connectiviteit tussen een client zoals Oracle SQL Developer en de autonome database moet worden getest en bevestigd.
  • Pentaho Data Integration versie 7.x of 8.x geïnstalleerd op Windows of MacOSX. Instructies voor het installeren van de nieuwste versie van PDI vindt u hier (Windows) en hier (MacOSX). Besteed bijzondere aandacht aan de versie van Java Development Kit die wordt gebruikt. Vanaf januari 2019 is Pentaho data Integration 8.3 die draait op Java Development Kit 1.8 getest en goed bevonden.

Deze tutorial gaat ervan uit dat PDI is geïnstalleerd in C:\Pentaho\data-integration op Windows of /Users//Pentaho/data-integration op MacOSX.

In het volgende gedeelte vindt u instructies voor het downloaden en installeren van de Oracle JDBC-stuurprogramma's.

De Oracle JDBC-stuurprogramma's installeren in Pentaho Data Integration

Pentaho Data Integration vereist dat de Oracle JDBC-stuurprogramma's zijn geïnstalleerd om verbinding te maken met een Oracle-database. Naast het hoofdbestand ojdbc8.jar zijn ook verschillende aanvullende bestanden vereist die deel uitmaken van de volledige JDBC-distributie. Zorg ervoor dat u alleen de JDBC-stuurprogrammacomponenten downloadt en installeert die zijn gecompileerd voor JDK 1.8. Deze hebben een "8" in de bestandsnaam.
Om te beginnen gaat u naar de Oracle 12c JDBC Driver Downloads-pagina op:
https://www.oracle.com/database/technologies/jdbc-ucp -122-downloads.html

Scrol omlaag naar het gedeelte waar de afzonderlijke downloads zich bevinden.

De te downloaden bestanden zijn:

ojdbc8.jar
oraclepki.jar
osdt_cert.jar
osdt_core.jar

Elk van deze bestanden moet worden gedownload en gekopieerd naar de map Pentaho data-integration\lib.

Zorg er zoals altijd voor dat u Pentaho-gegevensintegratie opnieuw start, zodat de nieuwe jar-bestanden worden herkend.

Op de volgende pagina wordt de Oracle Wallet gedownload van de cloudserver.

De Oracle Wallet downloaden van Oracle Cloud

Opmerking:als u Safari op MacOSX gebruikt, wijzigt u de voorkeuren in Safari om te voorkomen dat "veilige" bestanden automatisch worden geopend na het downloaden. Safari> Voorkeuren> Schakel het selectievakje Open "veilige" bestanden na downloaden uit.

Log in op uw Oracle Cloud-console en ga naar de pagina Autonomous Database. Klik op de link onder de Weergavenaam voor een van uw databases.

Wanneer het Details-scherm verschijnt, klikt u op de DB-verbinding knop.

Wanneer het venster Databaseverbinding verschijnt, klikt u op Portefeuille downloaden knop.

Geef een overeenkomend wachtwoord voor de Wallet op en klik vervolgens op de blauwe Download knop.

Merk op dat de bestandsnaam van de portemonnee bestaat uit het werk "Wallet" met de naam van de autonome databases eraan toegevoegd. Voor dit voorbeeld is het bestand:Wallet_ATPDatabase1.zip.
Zorg ervoor dat u uw Wallet-bestand op een veilige plaats opslaat.

Ga terug naar het scherm Databasedetails verschijnt, klik op de DB-verbinding knop opnieuw. Scroll naar beneden totdat je het gedeelte met de titel Verbindingsstrings . ziet . Merk op dat een verbindingsreeks overeenkomt met een specifiek verbindingstype dat is opgeslagen in het bestand tnsnames.ora dat is opgenomen in de portemonnee. Noteer deze namen, zoals die met _HIGH aan het einde ervan. Deze namen moeten bestaan ​​uit de naam van uw database (zonder spaties) gevolgd door _HIGH, _MEDIUM of _LOW. In dit voorbeeld is de naam van de database "ATP Database1", dus de eerste verbindingsreeks heeft de naam:ATPDatabase1_HIGH. Noteer of kopieer en bewaar het item onder TNS-naam voor uw database.

Stappen voor het integreren van de Oracle Wallet in PDI vindt u op de volgende pagina.

Oracle Cloud Wallet integreren in Pentaho Data Integration

Om de Pentaho-gegevensintegratie te sturen om de Oracle Wallet te gebruiken, moet een aantal stappen worden gevolgd.

Zorg ervoor dat Pentaho Data Integration is geïnstalleerd, met de benodigde Oracle JDBC Drivers. PDI zou op dit moment niet moeten werken.

Bewerk de custom.properties bestand

Zoek het bestand custom.properties in de map data-integration\system\karaf\etc\.

Gebruik Kladblok (windows) of Teksteditor (MacOSX) om het bestand custom.properties te bewerken en voeg de volgende regel toe onder aan het bestand (als deze er nog niet is).
org.apache.karaf.security.providers =oracle.security.pki.OraclePKIProvider

Sla het bestand custom.properties op en verlaat de teksteditor.

Bewerk de Spoon.bat of lepel.sh bestanden

Bewerk voor Windows-installaties het bestand Spoon.bat (gebruik Kladblok of een andere teksteditor). Scroll naar beneden tot ongeveer regel 112 net voor de sectie met REM ** Uitvoeren… **

Voeg de volgende regels toe (geel gemarkeerd).

REM ******************************************************************
REM ** Set java runtime options                                     **
REM ** Change 2048m to higher values in case you run out of memory  **
REM ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable      **
REM ******************************************************************

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"

set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=%LIBSPATH%" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%" "-DKETTLE_JNDI_ROOT=%KETTLE_JNDI_ROOT%"

@REM Java options to support Oracle Wallet secure connections
@REM Assumes that the cwallet.sso file is in data-integration\Wallet\ folder
set OPT="-Djavax.net.ssl.trustStore=%KETTLE_DIR%\Wallet\cwallet.sso" %OPT%
set OPT="-Djavax.net.ssl.trustStoreType=SSO" %OPT%
set OPT="-Djavax.net.ssl.keyStore=%KETTLE_DIR%\Wallet\cwallet.sso" %OPT%
set OPT="-Djavax.net.ssl.keyStoreType=SSO" %OPT%
set OPT="-Doracle.net.tns_admin=%KETTLE_DIR%\Wallet" %OPT%

REM ***************
REM ** Run...    **
REM ***************

Sla het bestand spoon.bat op en verlaat de teksteditor.

Klik op MacOSX met de rechtermuisknop op het bestand spoon.sh, markeer Openen met en selecteer vervolgens TextEdit-app .

Scroll naar beneden in het bestand totdat u de sectie met "# optionele regel voor het toevoegen van een debugger" vindt. De toe te voegen code komt in de ruimte net voor deze regel.
Voeg de volgende regels toe (blauw gemarkeerd in de afbeelding hieronder):

# Java options to support Oracle Wallet secure connections
# Assumes that the cwallet.sso file is in data-integration/Wallet/ folder
OPT="-Djavax.net.ssl.trustStore=${BASEDIR}/Wallet/cwallet.sso ${OPT}"
OPT="-Djavax.net.ssl.trustStoreType=SSO ${OPT}"
OPT="-Djavax.net.ssl.keyStore=${BASEDIR}/Wallet/cwallet.sso ${OPT}"
OPT="-Djavax.net.ssl.keyStoreType=SSO ${OPT}"
OPT="-Doracle.net.tns_admin=${BASEDIR}/Wallet ${OPT}"

Sla het bestand spoon.sh op en sluit de TextEdit-app.

Kopieer de Wallet-bestanden naar PDI

Zorg ervoor dat u de Oracle-portemonnee uit de cloud heeft gedownload (zie vorige pagina). Voor dit voorbeeld heeft de database de naam "ATPDatabase1" en de bestandsnaam van de portemonnee is:Wallet_ATPDatabase1.zip
Pak het Wallet-bestand uit en zoek de volgende vier bestanden op:

cwallet.sso
sqlnet.ora
tnsnames.ora
trustore.jks

Deze bestanden worden ook getoond in de onderstaande afbeelding:

Markeer deze vier bestanden en kopieer ze.

Navigeer naar de Pentaho Data Integration-map. Maak een submap met de naam "Wallet". Plak de vier Oracle Wallet-bestanden in deze Wallet-map zoals hieronder weergegeven (Windows):

Kopieer op MacOSX de vier wallet-bestanden en plak ze in de map /Users//Pentaho/data-integration/Wallet.

PDI draaien

Als deze bestanden eenmaal aanwezig zijn, kunt u Pentaho Data Integration normaal starten door het bestand Spoon.bat (of spoon.sh voor MacOSX-gebruikers) uit te voeren.
Om Pentaho Data Integration op Windows uit te voeren, dubbelklikt u op de spoon. bat-programma.

Om Pentaho Data Integration op MacOSX uit te voeren, klikt u met de rechtermuisknop op het spoon.sh-programma, selecteert u Openen met> Other... Wijzig het filter in "Alle toepassingen" en vervolgens in Hulpprogramma's map kies Terminal . Klik vervolgens op de Open knop.

In de volgende sectie wordt het opzetten van een nieuwe databaseverbinding vanuit Pentaho Data Integration besproken.

Een nieuwe databaseverbinding maken in Pentaho Data Integration

Om de Oracle Wallet in Pentaho Data Integration te gebruiken, moet een verbinding van het type "Generic Database" worden geconfigureerd. De volgende stappen beschrijven dit proces.

Wanneer u een tabelinvoer, tabeluitvoer of dimensie opzoeken/bijwerken stap instelt, maakt u een nieuwe databaseverbinding.

  • Geef de nieuwe verbinding een naam (je verzint het).
  • Wijzig het Verbindingstype naar algemene database.
  • Wijzig het Dialect naar Oracle.
  • Vul de Aangepaste verbindings-URL . in als volgt:
    jdbc:oracle:thin:@atpdatabase1_high
    Waar atpdatabase1_high is de naam van een van uw verbindingen met uw Oracle Cloud-database (beoordeeld op de vorige pagina). Het zal bestaan ​​uit uw databasenaam met daaraan gekoppeld _high. Als uw databasenaam bijvoorbeeld "DB 123456789" is, is een mogelijke verbindings-URL:
    jdbc:oracle:thin:@DB123456789_high
  • Vul de naam aangepaste stuurprogrammaklasse . in als volgt:
    oracle.jdbc.driver.OracleDriver
  • Vul uw gebruikersnaam en wachtwoord in voor uw Oracle Cloud-database.
  • Klik op de Test om de verbinding te testen.

Het testresultaat zou succesvol moeten zijn, zoals hieronder weergegeven.

Klik op de OK om de verbindingstest af te sluiten. Klik op de OK om deze databaseverbinding op te slaan.

Op de volgende pagina vindt u enkele veelvoorkomende verbindingsfouten.

Veelvoorkomende Oracle Wallet-verbindingsfouten en problemen

Er zijn verschillende veelvoorkomende fouten en problemen die u kunt ondervinden bij het gebruik van PDI en Oracle Cloud. De fouten en oplossingen / work-arounds worden hieronder weergegeven.

IO-fout:kon de verbindings-ID niet oplossen

Als u een foutmelding krijgt zoals "IO Error:could not resolve the connect identifier", dan kan uw tnsnames.ora-bestand niet worden gevonden of komt de opgegeven TNS-naam niet overeen met een van de verbindingen. Bijvoorbeeld:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: could not resolve the connect identifier  "atpdatabase1_hig"

Controleer nogmaals uw tnsnames.ora-bestand en zorg ervoor dat u een verbindingsnaam gebruikt die in het tnsnames.ora-bestand verschijnt. Gebruik op het Windows-besturingssysteem het programma NotePad om het bestand tnsnames.ora te openen. Gebruik op MacOSX het programma Teksteditor om het bestand tnsnames.ora te openen.

ORA-01017:ongeldige gebruikersnaam/wachtwoord; aanmelding geweigerd

Als u een foutmelding krijgt zoals “ORA-01017:ongeldige gebruikersnaam/wachtwoord; aanmelding geweigerd" betekent dit dat de opgegeven Oracle-gebruikersnaam of -wachtwoord ongeldig is. Bijvoorbeeld:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: invalid username/password; logon denied

Controleer de gebruikersnaam en het wachtwoord op de Oracle-database-instance om er zeker van te zijn dat deze correct zijn. Houd er rekening mee dat de gebruikersnaam en het wachtwoord van de Oracle-database verschillen van uw Oracle Cloud-websiteaccount. Meestal gebruiken we voor het testen de ADMIN-gebruiker en dit wachtwoord is ingesteld toen de Autonomous Database of Autonomous Data Warehouse werd gemaakt. Bijvoorbeeld op pagina 4 van deze tutorial.
Zorg ervoor dat het wachtwoord geen van de volgende tekens bevat:@ / \ ?

Het is misschien het gemakkelijkst om te testen om de ADMIN-gebruiker te gebruiken met een relatief "gewoon" wachtwoord zoals Pw123Pw123Pw123 .
Zorg ervoor dat u het wachtwoord in iets veiliger verandert nadat het testen is voltooid.

Driver-klasse 'oracle.jdbc.driver.OracleDriver' kan niet worden gevonden

Als u een foutmelding krijgt zoals:"Driver class 'oracle.jdbc.driver.OracleDriver' could not be found", zorg er dan voor dat de JDBC-stuurprogramma's zijn gekopieerd naar de map data-integration\lib en dat PDI opnieuw is gestart. Zorg er ook voor dat u geen spaties voor de 'o' plaatst in oracle.jdbc.driver... Bijvoorbeeld:

Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Driver class 'oracle.jdbc.driver.OracleDriver' could not be found, make sure the 
'Generic database' driver (jar file) is installed. oracle.jdbc.driver.OracleDriver

ORA-12529 TNS:Verbindingsverzoek afgewezen op basis van huidige filterregels

Of u een foutmelding ontvangt zoals:"ORA-12529 TNS:Connect-verzoek afgewezen op basis van huidige filterregels ” wanneer u verbinding maakt met de database, kan het zijn dat uw netwerkbeveiligingsinstellingen voor de autonome database verbindingen verhinderen. De volledige foutmelding kan als volgt verschijnen:


Error connecting to database [OracleCloud] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
Listener refused the connection with the following error:
ORA-12529, TNS:connect request rejected based on current filtering rules

Meld u aan bij de beheerinterface van Oracle Cloud en bekijk het scherm Autonomous Database Information voor uw database. Controleer het Toegangstype en Toegangscontrolelijst om ervoor te zorgen dat inlogsessies op afstand vanaf uw locatie zijn toegestaan. Mogelijk moet u de database opnieuw opstarten

IO-fout:fatale waarschuwing ontvangen:handshake_failure, verbindingsverloop 188 ms., verificatieverloop 0 ms.

Deze fout kan optreden wanneer er een mismatch is tussen de versie van Java Development Kit en de Oracle-server. Het kan verband houden met de codebibliotheken die worden gebruikt om het communicatiekanaal tussen client en server te beveiligen (bijv. TLS). Zorg ervoor dat u over de laatste versie van Oracle Java Development Kit 8 beschikt. Bijvoorbeeld:

Error connecting to database [oracle_cloud_atp] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: Received fatal alert: handshake_failure, connect lapse 188 ms., Authentication lapse 0 ms.
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: Received fatal alert: handshake_failure, connect lapse 188 ms., Authentication lapse 0 ms.

IO-fout:inkomend gesloten voordat close_notify van peer is ontvangen

Als u een foutmelding krijgt zoals:"IO Error:Inbound closed before ontvangst peer's close_notify" bij het uitvoeren van een transformatie, kan het zijn dat u te veel open databaseverbindingen met de Oracle-server hebt. Dit kan het geval zijn als u de "Always Free"-services op Oracle Cloud gebruikt. deze diensten hebben een beperkt aantal gelijktijdige verbindingen.

Sluit alle extra transformatietabbladen die u hebt geopend. Sluit Spoon af en start het opnieuw. Open alleen de transformatie waaraan u hebt gewerkt en probeer deze opnieuw uit te voeren. Bijvoorbeeld in het PDI-logboek:


2020/01/19 15:44:43 - Promotion Dim Lookup.0 - ERROR (version 8.2.0.0-342, 
build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : An error occurred, 
processing will be stopped:
2020/01/19 15:44:43 - Promotion Dim Lookup.0 - Error occurred while trying to 
connect to the database
2020/01/19 15:44:43 - Promotion Dim Lookup.0 - IO Error: Inbound closed before 
receiving peer's close_notify: possible truncation attack?, Authentication lapse 0 ms.

In enkele zeldzame gevallen kan dit ook worden veroorzaakt door een mismatch in de revisie van de gebruikte JDK. Er waren enkele incompatibiliteiten geïntroduceerd met de PKI-ondersteuning in de Java Development Kit versie 1.8. Het installeren van een bijgewerkte 1.8 JDK lijkt deze problemen op te lossen.

Als het probleem aanhoudt (en u maakt verbinding met een niet-productieserver), probeer dan de autonome Oracle-database opnieuw op te starten, aangezien dit eventuele slepende verbindingen kan vrijmaken.

ORA-00018:maximum aantal sessies overschreden

De ORA-00018:maximum aantal sessies overschreden fout kan verschijnen als uw database geen beschikbare verbindingen meer heeft. Dit kan een probleem zijn bij het werken met de laag "Always Free" van de Oracle Autonomous-database. De fout kan als volgt verschijnen:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d -
 ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 
A database error occurred:
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
    Error occurred while trying to connect to the database
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d -
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
      Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta@75df4b1d - 
       ORA-00018: maximum number of sessions exceeded

Sluit alle extra transformatietabbladen die u hebt geopend. Sluit Spoon af en start het opnieuw. Open alleen de transformatie waaraan u hebt gewerkt en probeer deze opnieuw uit te voeren.
Als het probleem aanhoudt (en u verbinding maakt met een niet-productieserver), probeer dan de autonome Oracle-database opnieuw op te starten, aangezien dit eventuele slepende verbindingen.

Onjuiste gegevenstypen bij het maken van tabellen

PDI moet de juiste Oracle-gegevenstypen (INTEGER, NUMBER, DATE, VARCHAR) gebruiken bij het maken van tabellen via de stappen Dimension Lookup/Update of Table Output. Als je het gebruik van datatypes zoals BIGSERIAL of andere niet-Oracle-datatypes ziet, probeer dan het volgende:

  • Ga terug naar je bronstap, zoals de CSV-leesstap, en verwijder het vinkje bij 'Lazy Conversion'
  • Keer terug naar de stap Dimensie opzoeken/bijwerken of Tabeluitvoer en bewerk de databaseverbinding. Zorg ervoor dat het Dialect is ingesteld op Oracle .
    Klik op de TEST-knop om te controleren of de inloggegevens nog werken. Sluit het dialoogvenster Databaseverbinding.
  • Klik op de SQL-knop en controleer de voorgestelde SQL CREATE TABLE-instructie om er zeker van te zijn dat de gegevenstypen nu correct zijn.
  • Als de gegevenstypen nog steeds niet correct zijn, probeer dan PDI opnieuw op te starten en volg de bovenstaande stappen opnieuw.

Trage respons bij gebruik van de PDI Database Explorer met Oracle Cloud

U zult merken dat Pentaho Data Integration lang duurt (en kan crashen) bij gebruik van de Extra> Database> Verkennen functie om een ​​Oracle Cloud-database te verkennen. De belangrijkste reden is dat de meeste Oracle Cloud-instances een groot aantal ingebouwde databaseschema's hebben die de PDI Database Explorer probeert te lezen.

In plaats van de Database Explorer van PDI te gebruiken, gebruikt u de SQL Developer-tool van Oracle om uw schema te verkennen, oude tabellen te verwijderen en gegevens op te vragen om te zien hoe transformaties werken. Oracle Cloud heeft een ingebouwde SQL Developer-webtoepassing die hiervoor gemakkelijk te gebruiken is.

Ongeldige cache met stap voor het opzoeken/bijwerken van dimensies veroorzaakt door Fout bij het serialiseren van rij naar bytearray

Tijdens het bijwerken van gegevens met behulp van een Dimension Lookup/Update-stap, kunt u een fout tegenkomen met betrekking tot de technische sleutel (surrogaatsleutel) en Fout bij het serialiseren van rij naar bytearray . Een voorbeeld van deze fout zou zijn:


Dimension lookup/update.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 
    2018-11-14 10.30.55 by buildguy) : Unexpected error
Dimension lookup/update.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 
    2018-11-14 10.30.55 by buildguy) : java.lang.RuntimeException: 
    Error serializing row to byte array
Dimension lookup/update.0 - at org.pentaho.di.core.row.RowMeta.extractData(RowMeta.java:1134)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.addToCache(DimensionLookup.java:1522)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.lookupValues(DimensionLookup.java:754)
Dimension lookup/update.0 - at org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup.processRow(DimensionLookup.java:232)
Dimension lookup/update.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
Dimension lookup/update.0 - at java.lang.Thread.run(Thread.java:748)
Dimension lookup/update.0 - Caused by: java.lang.RuntimeException: CUSTOMER_DIM_ID BigNumber(38) : 
     There was a data type error: the data type of java.lang.Long object 
     [320] does not correspond to value meta [BigNumber(38)]

Deze fout kan worden veroorzaakt door een onjuiste technische sleutelwaarde in de cache of het onvermogen van de Dimension Lookup/Update-stap om toegang te krijgen tot de cache van unieke technische sleutelwaarden.

Om dit probleem op te lossen, probeert u de transformatie opnieuw met de opdracht Enable the cache optie uitgeschakeld in de stap Dimensie opzoeken/bijwerken. U kunt ook de cache wissen door op de SQL . te klikken en klik vervolgens op Clear Cache knop.


  1. Hoe te repareren Ora-01427 single-rij subquery retourneert meer dan één rij in select?

  2. Wat zijn Oracle-joins (Sql-joins)?

  3. Hoe het aantal weken in datum om te zetten?

  4. SQL Server 2016:gegevens importeren