Introduktion
Pentaho Data Integration (DI)-verktyg (även känd som Kettle) innehåller ett kraftfullt sortiment av datafiltrerings- och transformationsverktyg som kan användas för att utföra extrahera, transformera och ladda processer. Pentaho DI Community Edition kommer med en samling databasdrivrutiner som kan komma åt många olika databassystem som antingen en datakälla (ingång) eller ett mål (utgång). Gemenskapsutgåvan kanske inte levereras med drivrutiner för Oracle-databasen. Följande anteckningar förutsätter att Pentaho DI (Kettle) har installerats enligt dessa Pentaho DI-installationsanvisningar.
Installera Oracle JDBC-drivrutiner
För att använda Oracle-datakällor med Pentaho DI måste du först se till att Oracle JDBC-drivrutinerna är installerade. Om inte, skaffa dem från Oracle och installera dem i mappen lib för Pentaho DI.
Oracle JDBC-drivrutinerna levereras med varje Oracle Server-installation och kan hittas i \jdbc mapp för Oracle-hemmet. Om du inte har tillgång till Oracle-servern kan du ladda ner de senaste drivrutinerna från Oracles JDBC-webbplats. Se till att ladda ner JDBC-drivrutinerna som matchar versionen av Java Runtime Environment (JRE) du kör.
Kopiera Oracle JDBC-drivrutiner till mappen Pentaho\data-integration\lib. När du kör Pentaho DI med Java7, använd Java 7-versionerna av JDBC-drivrutinerna som visas i bilden nedan:
Lägga till stöd för Oracle Wallets
Om du tänker ansluta till en säker Oracle-databas såsom en autonom databas i Oracle Cloud (som i det här exemplet), se till att du också laddar ner och kopierar JDBC-stödfilerna inklusive (För JDK version 8):
ojdbc8.jar oraclepki.jar osdt_cert.jar osdt_core.jar
VIKTIGT:Se till att starta om Pentaho Data Integration efter att ha kopierat ny jar filer till lib mapp.
Instruktioner för att sätta upp en ny anslutning till Oracle från PDI finns på nästa sida.
Köra Pentaho DI och skapa en transformation av tabellutgång
Kör Spoon och skapa en ny transformation för en tabellutgång
Hämta egenskaperna för tabellens utdata enligt nedan:
För anslutningen, klicka på knappen Ny... för att skapa en ny anslutning.
Ge din nya databasanslutning ett namn och välj sedan Oracle som anslutningstyp. Välj JDBC (Native) som åtkomsttyp.
Fyll i värdnamnet eller IP-adressen för servern som kör Oracle. Om du kör Oracle på din egen lokala dator, använd localhost IP-adressen 127.0.0.1. Ställ in portnumret där Oracle-databasavlyssnaren körs. Som standard är detta port 1521.
Fyll i databasnamnet enligt antingen ditt Oracle Service Name eller SID. Om din Oracle 12c-databas är konfigurerad med pluggbara databaser, använd ett snedstreck följt av namnet på den pluggbara databasen (pdb1 i exemplet nedan).
Ange Oracle-kontots användarnamn och lösenord för anslutningen. Om fälten Tabellutrymme för data och Tabellutrymme för index lämnas tomma, kommer standardtabellutrymmena för schemat att användas. Om du vill ändra dessa, skriv in namnen på tabellutrymmena enligt uppmaningarna.
När du är klar klickar du på knappen Testa för att testa anslutningen.
Vanliga felmeddelanden
Om testet misslyckas, kontrollera felmeddelandena. Till exempel:
Error connecting to database [Oracle12cDatabase] : 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
Kontrollera användarnamnet och lösenordet
Error connecting to database [Oracle12cDatabase] : 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-12514, TNS:listener does not currently know of service requested in connect descriptor
Kontrollera databasnamnet (Oracle Service Name, SID eller pluggbart databasnamn)
Error connecting to database [Oracle12cDatabase] : 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: The Network Adapter could not establish the connection
Kontrollera värdnamnet och/eller portnumret.
ORA-28000, Account Locked
Se till att Oracle-kontot är upplåst och att lösenordet är aktuellt. I vissa fall, om lösenordet är i "respitperiod", kan Pentaho fortfarande tolka detta som "konto låst". Din databasadministratör kan behöva antingen manuellt låsa upp ditt konto (ALTER USER xyz ACCOUNT UNLOCK; ) eller återställ ditt lösenord.
När testet har lyckats klickar du på OK-knappen och databasanslutningen kommer att sparas i tabellutgångstransformationen. Se till att målschemat matchar användarnamnet och/eller det avsedda schemat för datautmatningen (eller inmatningen).