各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for IBMCloudObjectStorage を使って、Visual Studio 上でWindows Forms およびWeb Forms とIBM Cloud Object Storage をデータバインドできます。この記事で、IBM Cloud Object Storage を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。
データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。
下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとIBM Cloud Object Storage との接続を作成します。ウィザード上でデータバインドをするIBM Cloud Object Storage エンティティを使います。
データ接続の選択ダイアログで、「変更」をクリックして、CData IBM Cloud Object Storage データソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:
ApiKey=myApiKey;CloudObjectStorageCRN=MyInstanceCRN;Region=myRegion;OAuthClientId=MyOAuthClientId;OAuthClientSecret=myOAuthClientSecret;
Cloud Object Storage に接続する前に、Cloud Object Storage インスタンスを登録してCloud Object Storage API キーとCRN を取得していきます。
IBM Cloud アカウントにCloud Object Storage がまだない場合は、以下の手順に従ってアカウントにSQL Query のインスタンスをインストールできます。
API キーは以下の手順で取得できます。
デフォルトでは、CData 製品はCloud Object Storage CRN を自動で取得します。ただし、複数のアカウントがある場合は、CloudObjectStorageCRN を明示的に指定する必要があります。この値は、次の2つの方法で取得できます。
これで準備は完了です。以下の接続プロパティを設定してください。
プロパティを設定したら、これで接続設定は完了です。
データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に Key をY軸に Etag を設定します。
チャートはこれでIBM Cloud Object Storage にデータバインドされました。チャートを実行して最新のデータを表示させましょう。
IBM Cloud Object Storage へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。
下に完全なコードを示します:
IBMCloudObjectStorageConnection conn = new IBMCloudObjectStorageConnection("ApiKey=myApiKey;CloudObjectStorageCRN=MyInstanceCRN;Region=myRegion;OAuthClientId=MyOAuthClientId;OAuthClientSecret=myOAuthClientSecret;");
IBMCloudObjectStorageCommand comm = new IBMCloudObjectStorageCommand("SELECT Key, Etag FROM Objects WHERE Bucket = 'someBucket'", conn);
IBMCloudObjectStorageDataAdapter da = new IBMCloudObjectStorageDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "Key";
chart1.Series[0].YValueMembers = "Etag";
// Insert code for additional chart formatting here.
chart1.DataBind();