PowerBuilder からSuadeo のデータに接続してみた
この記事では、CData ADO.NET Provider for Suadeo をPowerBuilder で使う方法を紹介します。これらの標準準拠コントロールは扱いやすく、Appeon PowerBuilder をはじめ、Microsoft .NET に対応したさまざまなプラットフォームや開発テクノロジーで利用できます。
この記事では、CData ADO.NET Provider for Suadeo を使って PowerBuilder からデータを取得する基本的なアプリケーションを作成する方法を紹介します。
- 新規WPF Window Application ソリューションで、接続プロパティに必要なすべてのビジュアルコントロールを追加します。一般的な接続文字列は次のとおりです:
URL=https://mysuadeoinstance;User=username;Password=password;AuthenticationName=your_auth_name;
ドライバーはOAuth 2.0 のリソースオーナーパスワードクレデンシャル(ROPC)グラントを使用してSuadeo に認証します。認証は直接資格情報を使用して行われます。ブラウザーベースの認証フローやリフレッシュトークンはありません。
以下の接続プロパティを設定します:
- URL:Suadeo インスタンスのベースURL。
- User:Suadeo のユーザー名。
- Password:Suadeo のパスワード。
- AuthenticationName:Suadeo インスタンスの認証設定の名前識別子。異なる環境やユースケースに対して異なる認証名を設定できます。
接続すると、ドライバーは資格情報をSuadeo のOAuth トークンエンドポイントに送信してアクセストークンを受け取り、以降のすべてのリクエストに使用します。セッション中に必要に応じて新しいアクセストークンが自動的に取得されます。
- .NET コントロールからDataGrid コントロールを追加します。
-
DataGrid コントロールのカラムを設定します。Account テーブルからいくつかのカラムを以下に示します:
<DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}"> <DataGrid.Columns> <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" /> <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" /> ... </DataGrid.Columns> </DataGrid> - CData ADO.NET Provider for Suadeo アセンブリへの参照を追加します。
DataGrid 接続
ビジュアルエレメントが設定されたら、Connection、Command、およびDataAdapter のような標準のADO.NET オブジェクトを使ってSQL クエリの結果をDataTable に表示することができます:
System.Data.CData.Suadeo.SuadeoConnection conn conn = create System.Data.CData.Suadeo.SuadeoConnection(connectionString) System.Data.CData.Suadeo.SuadeoCommand comm comm = create System.Data.CData.Suadeo.SuadeoCommand(command, conn) System.Data.DataTable table table = create System.Data.DataTable System.Data.CData.Suadeo.SuadeoDataAdapter dataAdapter dataAdapter = create System.Data.CData.Suadeo.SuadeoDataAdapter(comm) dataAdapter.Fill(table) datagrid1.ItemsSource=table.DefaultView
上のコードは、指定したクエリからDataGrid にデータをバインドできます。