データの取得
データセットにデータを取得するには、OracleClientではOracleDataAdapterクラスを使用します。
OracleDataAdptrerクラスの引数にはデータを取得するためのSQLコマンド文と作成しておいたOracleConnectionを渡します。
例としてSQL文はEMP表の全件データを取得するように記述しました。
PS> $strSQL = "SELECT * FROM EMP" PS> $oraDa = New-Object System.Data.OracleClient.OracleDataAdapter($strSQL, $OraConn)
ここまでがデータを取得するための前準備となります。
実際のデータの取得はOracleDataAdapterクラスのFillメソッドを使用します。Fillメソッドの引数には、取得したデータを格納するデータセットを渡します。
[void]$OraDa.Fill($dtSet)
上記コードを実行すると$dtSetというデータセットにテーブルが1つ作成され、その中にデータが格納されます。
データの参照
データはデータセットの中のデータテーブルに格納されています。データセットは複数のデータテーブルを持つことができるため、各データテーブルは配列オブジェクトとして表されます。
今回は、新規で作成したデータセットにデータを取り込んだため、1つのデータテーブルが作成されています。
1つめのデータテーブルは配列の要素番号が0となり
PS> $dtSet.Tables[0]
として参照することができます。
全レコードを取得する
データが格納されているテーブルは$dtSet.Tables[0]であるということが分かりました。
まずは下記のように入力してみてください。
PS> $dtSet.Tables[0]
下図のように、取得したデータが1レコード単位で表示されます。

この表示は見づらいので、PowerShellのコマンドレットFormat-Tableと組み合わせて以下のようにすると
PS> $dtSet.Tables[0] | Format-Table

罫線こそ表示されないものの、表形式で表示されるため非常に見やすくなります。
この記事は参考になりましたか?
- Windows PowerShell 活用編連載記事一覧
-
- Windows PowerShell 活用編(12) Oracleデータベースの操作2
- Windows PowerShell 活用編(11) Oracleデータベースの操作1
- Windows PowerShell 活用編(10) XPathNavigatorクラスの...
- この記事の著者
-
HIRO(ヒロ)
HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
