Visual Studio でチャートコントロールと Redshift をデータバインド

加藤龍彦
加藤龍彦
デジタルマーケティング
標準ADO.NET プロシージャを使ってデータバインドして、Visual Studio ツールボックスのコントロールから Redshift との双方向接続を実現。この記事ではVisual Studio のグラフィカルアプローチと、ほんの数行のコードでデータバインドをする方法を説明します。

データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for Redshift を使って、Visual Studio 上でWindows Forms およびWeb Forms とRedshift をデータバインドできます。この記事で、Redshift を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。

チャートへのデータバインド

データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。

接続を設定してデータベースオブジェクトを選択

下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとRedshift との接続を作成します。ウィザード上でデータバインドをするRedshift エンティティを使います。

  1. Windows Forms プロジェクトでは、チャートコントロールをツールボックスからフォーム上にドラグ&ドロップします。チャートプロパティのデータセクションで DataSource を選択し、メニューからプロジェクトデータソースの追加を選択します。 Add a data source to be bound to the chart.
  2. 出てくるデータソース構成ウィザードでデータベース -> データセットを選択します。
  3. データ接続ステップで、「新しい接続」をクリックします。
  4. データ接続の選択ダイアログで、「変更」をクリックして、CData Redshift のデータソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:

    User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;

    Amazon Redshift への接続

    それでは、早速Amazon Redshift に接続していきましょう。データに接続するには、以下の接続パラメータを指定します。

    • Server:Amazon Redshift データベースをホスティングしているサーバーのホスト名またはIP アドレス
    • Database:Amazon Redshift クラスター用に作成したデータベース
    • Port(オプション):Amazon Redshift データベースをホスティングしているサーバーのポート。デフォルトは5439です

    これらの値は、以下のステップでAWS マネージメントコンソールから取得できます。

    1. Amazon Redshift コンソールを開きます(http://console.aws.amazon.com/redshift)
    2. Clusters ページで、クラスター名をクリックしてください
    3. Configuration タブの"Cluster Database Properties" セクションからプロパティを取得します。接続プロパティの値は、ODBC URL で設定された値と同じになります

    Amazon Redshiftへの認証

    CData 製品では幅広い認証オプションに対応しています。標準認証情報からIAM クレデンシャル、ADFS、Ping Federate、Microsoft Entra ID(Azure AD)、Azure AD PKCE まで利用可能です。

    標準認証

    ログイン資格情報を使用してAmazon Redshift に接続するには、以下のプロパティを設定してみましょう。
    • AuthSchemeBasic
    • User:認証するユーザーのログイン情報
    • Password:認証するユーザーのパスワード

    その他の認証方法については、ヘルプドキュメントをご確認ください。

  5. Connection properties for the selected data source in the Add Connection dialog. (Salesforce is shown.)
  6. 使用するデータソースオブジェクトを選択します。例は Orders テーブルです。 Select database objects. (Salesforce is shown.)

DataBind

データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に ShipName をY軸に ShipCity を設定します。

  1. チャートプロパティで、Series プロパティをクリックし、Series コレクション エディター を開きます。
  2. Series プロパティでX軸、Y軸に設定するカラムを選択します:XValueMember および YValueMember プロパティにメニューからカラムを選びます。
The axes of the chart defined in the Series Collection Editor.

チャートはこれでRedshift にデータバインドされました。チャートを実行して最新のデータを表示させましょう。 The chart, filled with data at run time.

コード Walk-through

Redshift へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。

  1. Redshift に接続します。
  2. RedshiftDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
  3. 結果セットとチャートをデータバインドします。

下に完全なコードを示します:

RedshiftConnection conn = new RedshiftConnection("User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;");
RedshiftCommand comm = new RedshiftCommand("SELECT ShipName, ShipCity FROM Orders", conn);
RedshiftDataAdapter da = new RedshiftDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);

chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "ShipName";
chart1.Series[0].YValueMembers = "ShipCity";
// Insert code for additional chart formatting here.
chart1.DataBind();

はじめる準備はできましたか?

Amazon Redshift Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon Redshift Icon Amazon Redshift ADO.NET Provider お問い合わせ

Amazon Redshift データ連携のパワフルな.NET アプリケーションを素早く作成して配布。