ODBC 経由で PowerBuilder から ServiceDesk Plus のデータ に接続
CData ODBC Driver for ServiceDesk Plus は、ODBC をサポートするあらゆるプラットフォームや開発技術から使用できます。PowerBuilder もその一つです。この記事では、ServiceDesk Plus のデータ に接続し、Database Painter や DataWindow などのコントロールからクエリを実行する方法を説明します。
ServiceDesk Plus にODBC データソースとして接続
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
OAuth 認証の設定
ServiceDeskPlus は、安全な認証のために Zoho OAuth 2.0 を使用します。OAuth アクセスをセットアップするには、以下のステップで進めます:
- https://api-console.zoho.com の Zoho Developer Console でアプリケーションを登録します
- アプリケーション構成に合わせてリダイレクト URI を設定します
- アプリケーション設定から Client ID と Client Secret を控えておきます
以下の接続プロパティを設定して接続を確立してください:
- AuthScheme:OAuth に設定します。
- OAuthClientId:Zoho アプリケーションの Client ID に設定します。
- OAuthClientSecret:Zoho アプリケーションの Client Secret に設定します。
- Scope:必要な ServiceDeskPlus の権限に設定します(デフォルトでは requests、problems、assets、projects への読み取りアクセスが含まれます)。
- Domain:ServiceDeskPlus のドメインに設定します。
- Portal:ServiceDeskPlus のポータルに設定します。
接続文字列の例
Profile=C:\profiles\ServiceDeskPlus.apip;ProfileSettings="Portal=itdesk;Domain=.in;Scope=SDPOnDemand.requests.READ SDPOnDemand.problems.READ SDPOnDemand.assets.READ SDPOnDemand.projects.READ";AuthScheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;
ServiceDesk Plus 用 ODBC ドライバ のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用し、ServiceDesk Plus の ODBC DSN(データソース名)に基づいてデータベースプロファイルを作成します。Database Painter では、ウィザードや UI を使用してServiceDesk Plus のデータを操作できます。
- PowerBuilder で、[ツール] -> [Database Painter]をクリックします。
- Database Painter の [オブジェクト] ウィンドウで、ODBC ノードを右クリックし、[新しいプロファイル] をクリックします。
- [接続] タブで、プロファイル名を入力し、[データソース] メニューで ServiceDesk Plus DSN を選択します。
- テーブルを表示・編集するには、テーブルを右クリックして [データの編集] -> [グリッド] をクリックします。
PowerBuilder コントロールで ServiceDesk Plus のデータ を使用
標準の PowerBuilder オブジェクトを使用して ODBC データソースに接続し、クエリを実行できます。以下の例では、ServiceDesk Plus のデータ を DataWindow に取得する方法を示します。次のコードを open メソッドに追加してください。
SQLCA.DBMS = "ODBC" SQLCA.DBParm = "ConnectString='DSN=CData API Source'" CONNECT USING SQLCA; dw_announcementcomments.SetTransObject(SQLCA); dw_announcementcomments.Retrieve();