sql >> Databasteknik >  >> RDS >> Oracle

Ansluter till Oracle 12c Database från Pentaho Data Integration (Kettle) Community Edition

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).


  1. Vad är STATISTICS PROFILE i SQL Server?

  2. Olaglig blandning av sammanställningar MySQL-fel

  3. Anslutning kan inte castas till oracle.jdbc.OracleConnection

  4. MS Access till Oracle enkel konvertering/migrering