USPS データ のPostgreSQL インターフェースを作成

詳細情報をご希望ですか?

製品の詳細情報:

USPS 連携ソリューション


USPS JDBC Driver のリモート機能を使用し、データアクセス用のPostgreSQL エントリポイントを作成します。

インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。

USPS にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for USPS とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからUSPS にクエリを実行します。

JDBC データソースとしてUSPS データに接続する

JDBC データソースとしてUSPS に接続するには、以下が必要です。

  • Driver JAR path:
  • JAR は、インストールディレクトリのlib サブフォルダにあります。
  • Driver class: cdata.jdbc.usps.USPSDriver

  • JDBC URL: URL は、"jdbc:usps:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。

    USPS に認証するには、次の接続プロパティを設定してください。

    • PostageProvider:リクエストの処理に使用するポステージプロバイダです。利用可能なオプションはENDICIA とSTAMPS です。指定されていない場合、 デフォルトはENDICIA です。
    • UseSandbox:ライブまたはテストリクエストを、運用サーバーに送るかサンドボックスサーバーに送るかを制御します。 true に設定した場合、Password、AccountNumber、StampsUserId プロパティは無視されます。
    • StampsUserId:この値はStamps サーバーに認証してログインするために使用されます。この値は Endicia には使用されず、UseSandbox がtrue の場合はオプションです。
    • Password:この値はEndicia とStamps サーバーへのログインに使用されます。ポステージプロバイダがEndicia の場合、この値はポステージアカウントに紐づけられたパスフレーズになります。 UseSandbox がtrue の場合にはオプションです。
    • AccountNumber:郵送者のアカウント番号です。UseSandbox がtrue の場合にはオプションです。
    • PrintLabelLocation:このプロパティは、GenerateLabels またはGenerateReturnLabels ストアドプロシージャを使用する場合には必須です。 生成されたラベルが格納されているフォルダの場所を指定してください。

    キャッシュデータベース

    USPS から利用可能な有用なタスクには多くのデータを要求します。データの入力を簡単にして後日思い出せるようにするには、 キャッシュデータベースを使用してリクエストを行ってください。キャッシュの使用にはキャッシュ用の接続プロパティを設定してください。

    • CacheLocation:デフォルトのキャッシュプロバイダーで接続が設定される、キャッシュの場所へのパスです。例えば、C:/users/username/documents/uspscache

    CacheLocation の代わりに、CacheConnectionCacheProvider を設定して デフォルト以外のプロバイダーを使用してキャッシュ接続を設定することもできます。

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

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

    java -jar cdata.jdbc.usps.jar

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

    以下は一般的なJDBC URL です。

    jdbc:usps:PostageProvider=ENDICIA; RequestId=12345; Password='abcdefghijklmnopqr'; AccountNumber='12A3B4C'

JDBC FDW を構築する

FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。

  1. ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。例: ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
  2. ビルドを開始する: make install USE_PGXS=1

USPS データをPostgreSQL データベースとしてクエリする

拡張機能をインストールした後、以下のステップに従ってUSPS へのクエリの実行を開始します。

  1. データベースにログインします。
  2. データベースの拡張機能をロードする: CREATE EXTENSION jdbc2_fdw;
  3. USPS のオブジェクトを作成する: CREATE SERVER USPS FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.usps.USPSDriver', url 'jdbc:usps:PostageProvider=ENDICIA; RequestId=12345; Password='abcdefghijklmnopqr'; AccountNumber='12A3B4C'', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.usps.jar');
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成します。 CREATE USER MAPPING for postgres SERVER USPS OPTIONS ( username 'admin', password 'test');
  5. ローカルデータベースに外部テーブルを作成する: postgres=# CREATE FOREIGN TABLE senders ( senders_id text, senders_FirstName text, senders_Phone numeric) SERVER USPS OPTIONS ( table_name 'senders');
USPS に対して 読み取り/書き込みコマンドを実行可能にする: postgres=# SELECT * FROM senders;