コマンドレットとの連携
取得したデータはデータセット上にあるため、何度でも取り出して利用することができます。
データセットとPowerShellのコマンドレットを組み合わせて、データセットのデータを操作する例をいくつか紹介します。
指定した列のみ取得する
Select-Object
コマンドレットと組み合わせると、指定した列のみを取得することができます。
次のように記述すると、データセット内からEMPNO
とENAME
の列だけを取得します。
PS> $dtSet.Tables[0].Rows | Select EMPNO, ENAME
指定した列で並べ替えを行う
Sort-Object
コマンドレットと組み合わせると、指定した列で並べ替えを行うことができます。
次のように記述すると、データセット内からEMPNO
とENAME
の列だけを取得し、EMPNO
で並べ替えて表示します。
PS> $dtSet.Tables[0].Rows | Select EMPNO, ENAME | Sort EMPNO
指定した条件に合致するデータを取得する
Where-Object
コマンドレットと組み合わせると、条件に合致するデータを取得することができます。
次のように記述すると、データセット内からEMPNO
が"7900"に等しいレコードデータを取得します。
$dtSet.Tables[0].Rows | Where { $_.EMPNO -eq "7900" }
データセットのデータをXMLファイルに保存する
データセットに格納されたデータはXMLファイルとして保存を行うことが可能です。
保存を行うにはWriteXml
メソッドを使用します。メソッドの引数には保存先のパスを記述します。
PS> $dtSet.WriteXml("C:\Work\Emplist.xml")
ファイルの内容はGet-Content
コマンドレットで確認することができます。
PS> Get-Content "C:\Work\Emplist.xml"
また、保存したXMLファイルは、次のように記述することでデータセットに読み込むことが可能です。
PS> $dtSet.ReadXml("C:\Work\Emplist.xml")
まとめ
今回はPowerShellを使用して
- Oracleデータベースへの接続
- データの取得
- コマンドレットと連携しデータを加工する方法
について説明しました。特に、PowerShellのコマンドレットと連携することで、データの2次加工ができることは大きな魅力ではないでしょうか?
次回はPowerShellからOracleデータベースへのデータの登録・更新・削除を説明します。お楽しみに。