PowerShell からAzure Synapse データに接続してデータの更新・挿入・削除を実行する方法

CData ADO.NET Provider for Azure Synapse を使って、PowerShell からAzure Synapse のデータに接続して、SQL クエリでSlack のデータを操作する方法を解説します。

加藤龍彦
ウェブデベロッパー

最終更新日:2023-09-14

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET Provider for AzureSynapse は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからAzure Synapse API へのデータ連携を可能にします。このプロバイダーは、Azure Synapse の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムAzure Synapse に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for AzureSynapse\lib\System.Data.CData.AzureSynapse.dll")
  2. Azure Synapse に接続:

    Azure Synapse への接続

    Azure Synapse データベースに接続するには、認証に加えて(下記参照)、次のプロパティを設定します。

    • Server:Azure を実行しているサーバー。Azure ポータルにログインして、[Azure Synapse Analytics]->[Select your database]->[Overview]->[Server name]に進むと確認できます。
    • Database[Azure Synapse Analytics]ページのAzure ポータルに表示されるデータベース名。

    Azure Synapse への認証

    次のプロパティを使用してAzure Synapse に接続します。

    • User:Azure との認証のためのユーザー名。
    • Password:認証ユーザーに関連付けられたパスワード。

    $constr = "User=myuser;Password=mypassword;Server=localhost;Database=Northwind;" $conn= New-Object System.Data.CData.AzureSynapse.AzureSynapseConnection($constr) $conn.Open()
  3. AzureSynapseDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT Id, ProductName from Products" $da= New-Object System.Data.CData.AzureSynapse.AzureSynapseDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.id $_.productname }

Azure Synapse データの更新

$cmd = New-Object System.Data.CData.AzureSynapseCommand("UPDATE Products SET ProductName='Konbu' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.AzureSynapseParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Azure Synapse へのデータの挿入

$cmd = New-Object System.Data.CData.AzureSynapseCommand("UPDATE Products SET ProductName='Konbu' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.AzureSynapseParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Azure Synapse データの削除

$cmd = New-Object System.Data.CData.AzureSynapseCommand("UPDATE Products SET ProductName='Konbu' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.AzureSynapseParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。