sql >> Database teknologi >  >> RDS >> Oracle

Tilslutning til Oracle 12c Database fra Pentaho Data Integration (Kettle) Community Edition

Introduktion

Pentaho Data Integration (DI) værktøjer (også kendt som Kettle) indeholder et kraftfuldt udvalg af datafiltrerings- og transformationsværktøjer, der kan bruges til at udføre Extract, Transform og Load processer. Pentaho DI Community Edition kommer med en samling af databasedrivere, der kan få adgang til mange forskellige databasesystemer som enten en datakilde (input) eller et mål (output). Community-udgaven leveres dog muligvis ikke med drivere til Oracle-databasen. Følgende noter antager, at Pentaho DI (kedel) er blevet installeret i overensstemmelse med disse Pentaho DI-installationsnoter.

Installation af Oracle JDBC-drivere

For at bruge Oracle-datakilder med Pentaho DI skal du først sikre dig, at Oracle JDBC-driverne er installeret. Hvis ikke, hent dem fra Oracle og installer dem i mappen lib til Pentaho DI.

Oracle JDBC-driverne leveres med hver Oracle Server-installation og kan findes i \jdbc mappe i Oracle-hjemmet. Hvis du ikke har adgang til Oracle-serveren, kan du downloade de nyeste drivere fra Oracles JDBC-websted. Sørg for at downloade de JDBC-drivere, der matcher den version af Java Runtime Environment (JRE), du kører.

Kopier Oracle JDBC-driverne til mappen Pentaho\data-integration\lib. Når du kører Pentaho DI med Java7, skal du bruge Java 7-versionerne af JDBC-driverne som vist i figuren nedenfor:

Tilføjelse af support til Oracle Wallets

Hvis du har til hensigt at oprette forbindelse til en sikker Oracle-database, såsom en autonom database i Oracle Cloud (som i dette eksempel), skal du sørge for også at downloade og kopiere JDBC-understøttelsesfilerne, inklusive (For JDK version 8):

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

VIGTIGT:Sørg for at genstarte Pentaho Data Integration efter kopiering af ny jar filer til lib mappe.

Instruktioner til opsætning af en ny forbindelse til Oracle fra PDI findes på næste side.

Kørsel af Pentaho DI og oprettelse af en tabeloutputtransformation

Kør Spoon og opret en ny transformation til en tabeloutput

Hent egenskaberne for tabellens output som vist nedenfor:

For forbindelsen skal du klikke på knappen Ny... for at oprette en ny forbindelse.

Giv din nye databaseforbindelse et navn, og vælg derefter Oracle som forbindelsestype. Vælg JDBC (Native) som adgangstype.

Udfyld værtsnavnet eller IP-adressen på den server, der i øjeblikket kører Oracle. Hvis du kører Oracle på din egen lokale computer, skal du bruge localhost IP-adressen 127.0.0.1. Indstil portnummeret til det sted, hvor Oracle-databaselytteren kører. Som standard er dette port 1521.

Udfyld databasenavnet i henhold til enten dit Oracle Service Name eller SID. Hvis din Oracle 12c-database er konfigureret med pluggbare databaser, skal du bruge en skråstreg efterfulgt af navnet på den pluggbare database (pdb1 i eksemplet nedenfor).

Angiv Oracle-kontoens brugernavn og adgangskode til forbindelsen. Hvis felterne Tablespace for Data og Tablespace for Index efterlades tomme, vil standardtablespaces for skemaet blive brugt. Hvis du ønsker at ændre disse, skal du indtaste navnene på tablespaces i henhold til anvisningerne.

Når du er færdig, skal du klikke på knappen Test for at teste forbindelsen.

Almindelige fejlmeddelelser

Hvis testen mislykkes, skal du kontrollere fejlmeddelelserne. For eksempel:

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

Tjek brugernavn og adgangskode

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

Tjek databasenavnet (Oracle Service Name, SID eller pluggbar databasenavn)

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

Tjek værtsnavnet og/eller portnummeret.

ORA-28000, Account Locked

Sørg for, at Oracle-kontoen er låst op, og at adgangskoden er aktuel. I nogle tilfælde, hvis adgangskoden er i "henstandsperiode", kan Pentaho stadig fortolke dette som "konto låst". Din databaseadministrator skal muligvis enten manuelt låse din konto op (ALTER USER xyz ACCOUNT LÅS OP; ) eller nulstil din adgangskode.

Når testen er vellykket, skal du klikke på OK-knappen, og databaseforbindelsen vil blive gemt i tabeloutput-transformationen. Sørg for, at målskemaet matcher brugernavnet og/eller det tilsigtede skema for dataoutput (eller input)-handlingen.


  1. Installer og brug Percona Toolkit på Centos 7

  2. Hvad er MySQL:En oversigt

  3. Hvordan ændres CHARACTER SET (og COLLATION) i hele en database?

  4. Sådan får du gendannelsesmodellen for en database i SQL Server ved hjælp af T-SQL