本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →CData ODBC Driver for FinancialForce を使って、 ODBC 標準をサポートするあらゆるアプリケーションからデータに連携できます。Oracle Database Gateway for ODBC は、ODBC データソースにリモートOracle データベースとして連携接続できるようにするHeterogeneous Services agent (異種サービスエージェント)です。この記事では、CData ODBC Driver for FinancialForce を使ってFinancialForce からOracle にデータベースリンクを作成する方法、およびSQL*Plus ツールを介してFinancialForce に連携してクエリする方法について説明します。SQL Developer からも、データベースリンクの作成およびクエリの実行ができます。
ドライバーには複数の接続プロパティがあり、Oracle データベースと同じようにFinancialForce にアクセスできます。SQL*Plus およびSQL Developer のFinancialForce を扱う場合は、以下のプロパティを設定します。Oracle ODBC Gateway との互換性のため、認証およびその他の必要な接続プロパティに加えて、以下の接続プロパティを設定する必要があります。
MapToWVarchar=False
このプロパティをSQL_WVARCHAR の代わりにSQL_VARCHAR に設定して文字列データ型をマップします。さまざまなインターナショナルキャラクタセットに対応するため、ドライバーはデフォルトでSQL_WVARCHAR を使います。unicode タイプが返されたときに、このプロパティを使ってORA-28528 Heterogeneous Services データタイプ変換エラーを防ぐことができます。
MaximumColumnSize=4000
このプロパティを設定して、カラムの最大サイズを4000文字に制限します。Oracle Database Gateway では、文字列型はカラムの最大サイズが4000である必要があります。
UpperCaseIdentifiers=True
このプロパティで、識別子を引用しないようにし設定します。このプロパティを使って、大文字の識別子をOracle にレポートします。Oracle はデフォルトで識別子を大文字で格納するため、大文字の識別子を引用から避ける必要はありません。
IncludeDualTable=True
このプロパティを設定して、Oracle DUAL 表をモックします。SQL Developer はこのテーブルを使って接続をテストします。
下記の手順に従ってODBC Gateway をFinancialForce data に作成すると、リアルタイムFinancialForce にOracle データベースとしてクエリすることが可能になります。
一般的な接続文字列は次のとおりです:
There are several authentication methods available for connecting to FinancialForce: login credentials, SSO, and OAuth.
Set the User and Password to your login credentials. Additionally, set the SecurityToken. By default, the SecurityToken is required, but you can make it optional by allowing a range of trusted IP addresses.
To disable the security token:
To obtain the security token:
If you do not have access to the user name and password or do not want to require them, use the OAuth user consent flow. See the OAuth section in the Help for an authentication guide.
Set UseSandbox to true (false by default) to use a FinancialForce sandbox account. Ensure that you specify a sandbox user name in User.
Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
oracle-home-directory\hs\admin フォルダにinitmyfinancialforcedb.ora ファイルを作成し、以下の設定を追加します:
HS_FDS_CONNECT_INFO = "Your-FinancialForce-DSN"
oracle-home-directory\NETWORK\admin にあるlistener.ora ファイルに、次のアドレスを追加します:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = myfinancialforcedb)
(ORACLE_HOME = your-oracle-home)
(PROGRAM = dg4odbc)
)
)
oracle-home-directory\NETWORK\admin にあるtnsnames.ora ファイルに、次の接続ディスクリプタを追加します:
myfinancialforcedb =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SID=myfinancialforcedb))
(HS=OK)
)
次のコマンドを使って設定をテストします:
tnsping myfinancialforcedb
SQL*Plus を起動し、次のコマンドでデータベースリンクを作成します:
CREATE DATABASE LINK MYFINANCIALFORCEDB CONNECT TO "user" IDENTIFIED BY "password" USING
'myfinancialforcedb';
これで、SQL*Plus で次のようなクエリを実行できます:
SELECT * from Account@myfinancialforcedb;