ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →無償トライアル:
無償トライアルへ製品の情報と無償トライアルへ:
JSON Web サービス連携のパワフルな.NET アプリケーションを素早く作成して配布。
加藤龍彦
ウェブデベロッパー
CData ADO.NET Provider for JSON は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからJSON API へのデータ連携を可能にします。このプロバイダーは、JSON の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。
次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムJSON に実行:
プロバイダーのアセンブリをロード:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for JSON\lib\System.Data.CData.JSON.dll")
JSON に接続:
データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。
URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。
リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。
URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。
URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;
URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
$constr = "URI=C:/people.json;DataModel=Relational;"
$conn= New-Object System.Data.CData.JSON.JSONConnection($constr)
$conn.Open()
JSONDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:
$sql="SELECT [ personal.name.first ], [ personal.name.last ] from people"
$da= New-Object System.Data.CData.JSON.JSONDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach { Write-Host $_.[ personal.name.first ] $_.[ personal.name.last ] }
$cmd = New-Object System.Data.CData.JSONCommand("UPDATE people SET [ personal.name.last ]='Roberts' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.JSONParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.JSONCommand("UPDATE people SET [ personal.name.last ]='Roberts' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.JSONParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.JSONCommand("UPDATE people SET [ personal.name.last ]='Roberts' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.JSONParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
CodeProject