Windows DSN の構成
Microsoft [ODBC データソースアドミニストレーター]の使用
Microsoft ODBC データソースアドミニストレーターを使ってDSN 設定を編集できます。DSN はインストールプロセス中に作成されることに注意してください。
DSN 設定を編集するには、次の手順を実行してください。
- スタート -> 検索 を選択し、検索ボックスにODBC データソース と入力します。
- アプリケーションのビット数(32-bit または64-bit)に対応するODBC アドミニストレーターのバージョンを選択してください。
- システムDSN タブをクリックします。
- システムデータソースを選択して構成をクリックします。
- 接続タブの情報を編集してOK をクリックします。
Note: .NET Framework 4.0 の場合、本製品 はMicrosoft Visual C++ 2015-2022 再頒布可能パッケージを配布します。.NET Framework 3.5 の場合、本製品 はMicrosoft Visual C++ 2008 再頒布可能パッケージを配布します。
レジストリへのアクセスの確保
本製品 は、接続情報をWindows レジストリに保存します。本製品 がレジストリに書き込みできるようにするには、以下のいずれかの操作を実行します。
- 呼び出すアプリケーションを管理者として実行する。
- システムDSN 経由ではなく、ユーザーDSN 経由で接続する。
Acumatica への接続
Acumatica データソースに接続するには、次の接続プロパティを指定する必要があります。
- URL:(必須)Acumatica ERP インスタンスのベースURL。例:https://domain.acumatica.com/。
- Schema:(オプション)異なるデータを含む2つのスキーマがあります。デフォルトはREST で、Acumatica REST 契約ベースのAPI を使用し、OData スキーマはAcumatica OData API を使用します。OData スキーマはAcumatica Generic Inquiries へのクエリに使用されます。
- Company:(一部必須)会社名またはテナント名に設定。Schema がOData に設定されている場合は必須です。
- EndpointVersion:(オプション)Web Services エンドポイントのバージョン。例:24.200.001。これはREST スキーマにのみ適用されます。
- EndpointName:(オプション)Web Services エンドポイントの名前。例:Default。これはREST スキーマにのみ適用されます。
Acumatica インスタンスのEndpointVersion およびEndpointName を調べるには、Web ブラウザでAcumatica にログインし、Web Service Endpoints ページに移動します。必要に応じて、Web ブラウザのURL を編集し、ScreenId=00000000(ホームページ)を ScreenId=SM207060 に置き換えてこのページに移動してください。ホームページにリダイレクトされる場合は、ユーザーがWeb サービスにアクセスするために必要な権限を持っていないことを意味します。Endpoints プロパティで[Endpoint Name]および[Endpoint Version]を取得します。
Generic Inquiries の公開
本製品 は、Generic inquiries データをテーブルやビューとして検出することができます。ただし、それらを公開するには、まずWeb Services Endpoint を拡張する必要があります。
Generic inquiries を公開するプロセスは、Schema 接続プロパティで指定されたスキーマによって異なります。
REST スキーマ
Generic Inquiries は、デフォルトではREST 経由で公開されません。公開するには:
- Acumatica UI でIntegration > Show All > Web Service Endpoints に移動します。
- 最新のエンドポイントバージョンを使用している"Default" エンドポイントをクリックします。
- 利用可能なアクションボタン(ページ上部のエンドポイント名の下のボタンバー)から、EXTEND ENDPOINT をクリックします。
- このアクションは、"..." ボタンをクリックして表示される全アクションリストから見つける必要があるかもしれません。
- Endpoint Name を使用して拡張エンドポイントに名前を付け、Endpoint Version でエンドポイントのバージョンを指定し、OK をクリックします。
- 新しい拡張エンドポイントのページで、+ Insert ボタン(ENDPOINT ツリー構造の上)をクリックします。
- 以下のように、新しいカスタムオブジェクトのエンティティ定義を作成します。
- Object Name フィールドにオブジェクトの名前を付けます。
- Object Type フィールドはデフォルトのTop-Level のままにしておきます。
- Screen Name フィールドで、虫眼鏡アイコンをクリックして、Generic Inquiries に関連するスクリーンを検索します。Generic Inquiries のSite Map Title フィールドに一致する画面を選択します。
- 自動入力されたScreen ID フィールドの値が、Generic Inquiries の値と一致していることを確認します。
- OK をクリックします。
- 以下のように、カスタムオブジェクトの下に新しい"Results" エンティティを作成します。
- ENDPOINT ツリー構造で新しく作成したオブジェクトを選択し、+ Insert ボタンをクリックします。
- Field Name を"Result" に設定します。
- Object Name でこのオブジェクトの名前を指定します。
- Object Type をDetail に設定します。
- OK をクリックします。
- ENDPOINT ツリー構造で、カスタムオブジェクトのノードを展開し、作成したばかりの新しいResults オブジェクトを選択して FIELDS > POPULATE をクリックします。
- Populate Field ウィンドウのObject フィールドで、"Result"(先ほど作成したオブジェクト)を選択します。
- Generic Inquiry から公開する各フィールドのチェックボックスを選択し、OK をクリックします。
- テーブルリストで公開されているGeneric Inquiry を表示するには、EndpointName を拡張エンドポイントの名前に設定し、InquiryTables を上記ステップ6のトップレベルカスタムオブジェクトの名前に設定します。
OData スキーマ
Generic Inquiries は、デフォルトではOData 経由で公開されません。公開するには、Acumatica UI でCustomization > Profiles > Generic Inquiry に移動し、Expose via OData チェックボックスを選択します。
Acumatica への認証
Acumatica データソースへの接続に使用できる認証方法は2つあります。Basic およびOAuth です。
ユーザー資格情報
AuthScheme をBasic に設定し、User とPassword をログイン資格情報に設定します。
OAuth
OAuth は、認証ユーザーがブラウザを使用してAcumatica と通信することを必要とするため、すべてのOAuth フローはカスタムOAuth アプリケーションを必要とします。また、すべてのフローでAuthScheme をOAuth に設定します。以下のセクションは、すでに設定済みであることを前提として書かれています。
デスクトップアプリケーション
CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。代わりに、カスタムOAuth アプリケーションを作成することも可能です。カスタムアプリケーションの作成およびその理由については、カスタムOAuth アプリの作成 を参照してください。
認証に関する2つの方法の違いは、カスタムOAuth アプリケーションを使用する場合に、2つの接続プロパティを追加で設定する必要があることだけです。
次の接続プロパティを設定して、接続してください。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:アプリケーション設定のリダイレクトURL に設定。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
Web アプリケーション
Web アプリケーション経由で接続する場合は、Acumatica にカスタムOAuth アプリケーションを作成および登録する必要があります。カスタムアプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。CallbackURL インプットをアプリケーション設定で指定したコールバックURL に設定します。必要に応じて、Scope パラメータを設定してカスタム権限をリクエストします。
ストアドプロシージャがOAuth エンドポイントのURL を返します。
- URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。必要に応じて、Scope パラメータを設定してカスタム権限をリクエストします。
アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。
OAuth アクセストークンの自動リフレッシュ
ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
- InitiateOAuth:REFRESH に設定。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- OAuthAccessToken:GetOAuthAccessToken によって返されたアクセストークンに設定。
- OAuthRefreshToken:GetOAuthAccessToken によって返されたリフレッシュトークンに設定。
- OAuthSettingsLocation:本製品 がOAuth トークン値を保存する場所に設定。これは接続間で維持されます。
OAuth アクセストークンの手動リフレッシュ
データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。
GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。
最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。