製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Sage 300 JDBC Driver

Sage 300 に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。

データ連携でお困りですか?

お問い合わせ

Oracle Data Integrator でSage 300 をETL


この記事では、Oracle Data Integrator を使用してSage 300 をデータウェアハウスに転送する方法を説明します。


sage300 ロゴ画像
jdbc ロゴ画像

JDBC

Oracle Data Integrator ロゴ画像

JDBC 標準を使用してconnectをSage 300 に接続することにより、基準のスキルを活用します。 Oracle Data Integrator (ODI) ののようなETL ツールへのドロップイン統合により、CData JDBC Driver for Sage300 は、リアルタイムSage 300 をデータウェアハウスやビジネスインテリジェンス、Big Data テクノロジーに接続します。

JDBC 接続により、ODI の他のデータベースと同じようにSage 300 を操作できます。RDBMS と同様に、フラットファイルを操作する代わりに、ドライバーを使用してSage 300 API にリアルタイムで直接接続できます。

この記事では、JDBC ベースのSage 300 データのETL からOracle へのロードまでについてを説明します。Sage 300 エンティティのデータモデルをリバースエンジニアリングした後、マッピングを作成し、データ読み込み戦略を選択します。ドライバーはSQL-92 をサポートしているため、この最後のステップは、組み込みのSQL からSQL Loading Knowledge Module をセンタすることで簡単に実行できます。

ドライバーをインストール

ドライバーをインストールするには、インストールフォルダにあるドライバーJAR を.lic ファイルをODI userlib ディレクトリにコピーします。

Unix: ~/.odi/oracledi/userlib Windows %APPDATA%\Roaming\odi\oracledi\userlib

ODI を再起動してインストールを完了します。

モデルのリバースエンジニアリング

モデルをリバースエンジニアリングすると、Sage 300 のドライバーのリレーショナルビューに関するメタデータが取得されます。リバースエンジニアリング後、リアルタイムのSage 300 をクエリし、Sage 300 テーブルに基づいてマッピングを作成できます。

  1. ODI でリポジトリに接続し、[New]->[Model and Topology Objects]とクリックします。
  2. 表示されるダイアログの[Model]画面で、以下の情報を入力します。
    • Name:Sage300 を入力します。
    • Technology:Generic SQL を選択します。(ODI がVersion 12.2+ の場合は、Microsoft SQL ServerW選択します。)
    • Logical Schema:Sage300 を入力します。
    • Context:[Global]を選択します。
  3. 表示されるダイアログの[Data Server]画面で、以下の情報を入力します。
    • Name:Sage300 を入力します。
    • Driver List:Oracle JDBC Driver を選択します。
    • Driver:cdata.jdbc.sage300.Sage300Driver と入力します。
    • URL:接続文字列を含むJDBC URL を入力します。

      Sage 300 には、Sage 300 Web API で通信するための初期設定が必要となるます。

      • Sage 300 のユーザー向けのセキュリティグループを設定します。Sage 300 のユーザーに、Security Groups の下にあるbSage 300 Web API オプションへのアクセスを付与します(各モジュール毎に必要です)。
      • /Online/Web/Online/WebApi フォルダ内のweb.config ファイルを両方編集して、AllowWebApiAccessForAdmin のキーを true 設定します。webAPI アプリプールを再起動すると設定が反映されます。
      • ユーザーアクセスを設定したら、https://server/Sage300WebApi/ をクリックして、web API へのアクセスを確認してください。

      Basic 認証を使用してSage 300 へ認証します。

      Basic 認証を使用して接続する

      Sage 300 に認証するには、次のプロパティを入力してください。プロバイダーは、クッキーを使用してSage 300 が開いたセッションを再利用することに注意してください。 そのため、資格情報はセッションを開く最初のリクエストでのみ使用されます。その後は、Sage 300 が返すクッキーを認証に使用します。

      • Url:Sage 300 をホストするサーバーのURL に設定します。Sage 300 Web API 用のURL を次のように作成してください。 {protocol}://{host-application-path}/v{version}/{tenant}/ 例えば、 http://localhost/Sage300WebApi/v1.0/-/ です。
      • User:アカウントのユーザー名に設定します。
      • Password:アカウントのパスワードに設定します。

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、Sage 300 JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.sage300.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

      以下は一般的な接続文字列です。

      jdbc:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;
  4. [Physical Schema]画面で、以下の情報を入力します。
    • Schema (Schema):Sage300 を入力します。
    • Schema (Work Schema):Sage300 を入力します。
    Connection properties and the driver class in the model wizard.(Salesforce is shown.)
  5. 開いたモデルで、[Reverse Engineer]をクリックしてSage 300 テーブルのメタデータを取得します。

Sage 300 データの編集・保存

リバースエンジニアリング後、ODI でSage 300 を操作できるようになります。 Sage 300 を表示するには、Designer ナビゲーターでモデルアコーディオンを展開し、テーブルを右クリックして[View data]をクリックします。 Data can be refreshed on demand.(Salesforce is shown.)

ETL プロジェクトの作成

以下のステップに従って、Sage 300 からETL を作成します。OEInvoices エンティティをODI Getting Started VM に含まれているサンプルデータウェアハウスにロードします。

  1. SQL Developer を開き、Oracle データベースに接続します。[Connections]ペインでデータベースのノードを右クリックし、[New SQL Worksheet]をクリックします。

    もしくは、SQLPlus を使用することもできます。コマンドプロンプトから、以下のように入力します。

    sqlplus / as sysdba
  2. 以下のクエリを入力し、ODI_DEMO スキーマにあるサンプルデータウェアハウスに新しいターゲットテーブルを作成します。以下のクエリは、Sage 300 のOEInvoices テーブルに一致するいくつかのカラムを定義します。 CREATE TABLE ODI_DEMO.TRG_OEINVOICES (APPROVEDLIMIT NUMBER(20,0),InvoiceUniquifier VARCHAR2(255));
  3. ODI でDesigner ナビゲーターのModels アコーディオンを展開し、ODI_DEMO フォルダのSales Administration ノードをダブルクリックします。Model Editor でモデルが開きます。
  4. [Reverse Engineer]をクリックします。TRG_OEINVOICES テーブルがモデルに追加されます。
  5. プロジェクトの[Mappings]ノードを右クリックし、[New Mapping]をクリックします。マッピングの名前を入力し、[Create Empty Dataset]オプションを無効にします。[Mapping Editor]が表示されます。
  6. TRG_OEINVOICES テーブルをSales Administration モデルからマッピングにドラッグします。
  7. OEInvoices テーブルをSage 300 モデルからマッピングにドラッグします。
  8. ソースコネクタポイントをクリックしてターゲットコネクタポイントにドラッグします。[Attribute Matching]ダイアログが表示されます。ここでは、デフォルトオプションを使用します。その場合、目的の動作はターゲットカラムのプロパティに表示されます。
  9. Mapping Editor の[Physical]タブを開き、TARGET_GROUP のOEINVOICES_AP をクリックします。
  10. OEINVOICES_AP プロパティで、[Loading Knowledge Module]タブの[LKM SQL to SQL (Built-In)]を選択します。 SQL-based access to Sage 300 enables you to use standard database-to-database knowledge modules.

これで、マッピングを実行してSage 300 をOracle にロードできます。