Úvod
Nástroje Pentaho Data Integration (DI) (také známé jako Kettle) obsahují výkonný sortiment nástrojů pro filtrování a transformaci dat, které lze použít k provádění procesů extrahování, transformace a načítání. Pentaho DI Community Edition přichází s kolekcí databázových ovladačů, které mohou přistupovat k mnoha různým databázovým systémům buď jako zdroj dat (vstup) nebo cíl (výstup). Komunitní edice se však nemusí dodávat s ovladači pro databázi Oracle. Následující poznámky předpokládají, že Pentaho DI (konvice) byla nainstalována v souladu s těmito poznámkami k instalaci Pentaho DI.
Instalace ovladačů Oracle JDBC
Chcete-li používat zdroje dat Oracle s Pentaho DI, musíte se nejprve ujistit, že jsou nainstalovány ovladače Oracle JDBC. Pokud ne, získejte je od společnosti Oracle a nainstalujte je do složky lib pro Pentaho DI.
Ovladače Oracle JDBC jsou dodávány s každou instalací Oracle Server a lze je nalézt v \jdbc složka domovské stránky Oracle. Pokud nemáte přístup k serveru Oracle, můžete si stáhnout nejnovější ovladače z webu JDBC společnosti Oracle. Ujistěte se, že jste si stáhli ovladače JDBC, které odpovídají verzi Java Runtime Environment (JRE), kterou používáte.
Zkopírujte ovladače Oracle JDBC Drivers do složky Pentaho\data-integration\lib. Při spuštění Pentaho DI s Java7 použijte verze Java 7 ovladačů JDBC, jak je znázorněno na obrázku níže:
Přidání podpory pro peněženky Oracle
Pokud se hodláte připojit k zabezpečené databázi Oracle, jako je autonomní databáze v Oracle Cloud (jako v tomto příkladu), nezapomeňte si také stáhnout a zkopírovat soubory podpory JDBC včetně (pro JDK verze 8):
ojdbc8.jar oraclepki.jar osdt_cert.jar osdt_core.jar
DŮLEŽITÉ:Po zkopírování nového jar nezapomeňte znovu spustit Pentaho Data Integration soubory do lib složka.
Pokyny pro nastavení nového připojení k Oracle od PDI jsou uvedeny na další stránce.
Spuštění Pentaho DI a vytvoření transformace výstupu tabulky
Spusťte Spoon a vytvořte novou transformaci pro výstup tabulky
Získejte vlastnosti výstupu tabulky, jak je uvedeno níže:
Pro připojení klikněte na tlačítko New… a vytvořte nové připojení.
Pojmenujte své nové připojení k databázi a jako Typ připojení vyberte Oracle. Vyberte JDBC (Native) jako typ přístupu.
Vyplňte název hostitele nebo adresu IP serveru, na kterém je aktuálně spuštěn Oracle. Pokud používáte Oracle na svém vlastním místním počítači, použijte adresu IP localhost 127.0.0.1. Nastavte číslo portu na místo, kde běží posluchač databáze Oracle. Ve výchozím nastavení je to port 1521.
Vyplňte Název databáze podle názvu služby Oracle nebo SID. Pokud je vaše databáze Oracle 12c nakonfigurována se zásuvnými databázemi, použijte lomítko následované názvem zásuvné databáze (pdb1 v příkladu níže).
Zadejte uživatelské jméno a heslo účtu Oracle pro připojení. Pokud pole Tablespace for Data a Tablespace for Index zůstanou prázdná, použijí se výchozí tabulkové prostory pro schéma. Pokud je chcete změnit, zadejte názvy tabulkových prostorů podle pokynů.
Po dokončení otestujte připojení kliknutím na tlačítko Test.
Běžné chybové zprávy
Pokud se test nezdaří, zkontrolujte chybové zprávy. Například:
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
Zkontrolujte uživatelské jméno a heslo
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
Zkontrolujte název databáze (název služby Oracle, SID nebo název připojitelné databáze)
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
Zkontrolujte název hostitele a/nebo číslo portu.
ORA-28000, Account Locked
Ujistěte se, že je účet Oracle odemčen a heslo je aktuální. V některých případech, pokud je heslo v „době odkladu“, může to Pentaho stále interpretovat jako „účet uzamčen“. Správce databáze bude možná muset váš účet odemknout ručně (ALTER USER xyz ACCOUNT UNLOCK; ) nebo resetujte své heslo.
Jakmile je test úspěšný, klikněte na tlačítko OK a spojení databáze se uloží do transformace výstupu tabulky. Ujistěte se, že cílové schéma odpovídá uživatelskému jménu a/nebo zamýšlenému schématu pro operaci výstupu (nebo vstupu) dat.