sql >> データベース >  >> RDS >> Oracle

Pentaho Data Integration(Kettle)CommunityEditionからOracle12cデータベースに接続する

    はじめに

    Pentaho Data Integration(DI)ツール(Kettleとも呼ばれます)には、抽出、変換、および読み込みプロセスの実行に使用できる強力なデータフィルタリングおよび変換ツールが含まれています。 Pentaho DI Community Editionには、データソース(入力)またはターゲット(出力)のいずれかとして多くの異なるデータベースシステムにアクセスできるデータベースドライバーのコレクションが付属しています。ただし、Community Editionには、Oracleデータベース用のドライバが付属していない場合があります。以下の注記は、Pentaho DI(ケトル)がこれらのPentahoDIインストールノートに従ってインストールされていることを前提としています。

    OracleJDBCDriversのインストール

    Pentaho DIでOracleデータソースを使用するには、最初にOracleJDBCドライバーがインストールされていることを確認する必要があります。そうでない場合は、Oracleから入手して、PentahoDIのlibフォルダーにインストールします。

    Oracle JDBCドライバーは、すべてのOracle Serverインストールに付属しており、 \ jdbcにあります。 Oracleホームのフォルダ。 Oracleサーバーにアクセスできない場合は、OracleのJDBCWebサイトから最新のドライバをダウンロードできます。実行しているJavaランタイム環境(JRE)のバージョンに一致するJDBCドライバをダウンロードしてください。

    OracleJDBCDriversをPentaho\data-integration\libフォルダーにコピーします。 Pentaho DIをJava7で実行する場合は、次の図に示すように、Java7バージョンのJDBCドライバーを使用してください。

    Oracleウォレットのサポートの追加

    Oracle CloudのAutonomousDatabaseなどの安全なOracleデータベースに接続する場合(この例のように)、(JDKバージョン8の場合)を含むJDBCサポートファイルもダウンロードしてコピーしてください。

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

    重要:新しい jar をコピーした後は、必ずPentahoDataIntegrationを再起動してください。 libへのファイル フォルダ。

    PDIからOracleへの新しい接続を設定する手順は、次のページに記載されています。

    PentahoDIの実行とテーブル出力トランスフォーメーションの作成

    Spoonを実行し、テーブル出力の新しい変換を作成します

    以下に示すように、テーブル出力のプロパティを取得します。

    [接続]で、[新規...]ボタンをクリックして新しい接続を作成します。

    新しいデータベース接続に名前を付けてから、接続タイプとしてOracleを選択します。アクセスタイプとしてJDBC(ネイティブ)を選択します。

    現在Oracleを実行しているサーバーのホスト名またはIPアドレスを入力します。自分のローカルコンピュータでOracleを実行している場合は、ローカルホストのIPアドレス127.0.0.1を使用します。ポート番号をOracleデータベースリスナーが実行されている場所に設定します。デフォルトでは、これはポート1521です。

    Oracleサービス名またはSIDのいずれかに従ってデータベース名を入力します。 Oracle 12cデータベースがプラガブル・データベースで構成されている場合は、スラッシュを使用し、その後にプラガブル・データベースの名前(以下の例ではpdb1)を続けます。

    接続用のOracleアカウントのユーザー名とパスワードを指定します。 「データの表スペース」および「索引の表スペース」フィールドをブランクのままにすると、スキーマのデフォルトの表スペースが使用されます。これらを変更する場合は、プロンプトに従って表領域の名前を入力します。

    完了したら、[テスト]ボタンをクリックして接続をテストします。

    一般的なエラーメッセージ

    テストが失敗した場合は、エラーメッセージを確認してください。例:

    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
    

    ユーザー名とパスワードを確認してください

    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
    
    

    データベース名(Oracleサービス名、SID、またはプラグ可能なデータベース名)を確認してください

    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
    

    ホスト名やポート番号を確認してください。

    ORA-28000, Account Locked
    
    

    Oracleアカウントのロックが解除されており、パスワードが最新のものであることを確認してください。場合によっては、パスワードが「猶予期間」にある場合でも、Pentahoはこれを「アカウントがロックされている」と解釈できます。データベース管理者は、手動でアカウントのロックを解除する必要がある場合があります( ALTER USER xyz ACCOUNT UNLOCK; )またはパスワードをリセットします。

    テストが成功したら、[OK]ボタンをクリックすると、データベース接続がテーブル出力トランスフォーメーションに保存されます。ターゲットスキーマが、データ出力(または入力)操作のユーザー名や目的のスキーマと一致していることを確認してください。


    1. 関数からレコードのセット(仮想テーブル)を返します

    2. phpMyAdminに似たPostgreSQLビジュアルインターフェイス?

    3. T-SQLで日付から年を取得する方法

    4. MicrosoftAccessランタイムを使用する際の落とし穴