15 min/d

ぼうずやのにっき

PowerShell スクリプトで DB 操作

わけあって PowerShell スクリプトで DB を操作した。

Web 検索すると ADO を使用する方法 が紹介されている。リンク先は Access が相手だからかもしれないが、ADO を使っていた。PowerShell では ADO.NET が使える。つまり、Oracle が相手なら ODP.NET を使えるので、.NET 開発者にとってもっと慣れた方法がとれる。

System.Reflection.Assembly クラスの LoadWithPartial メソッドを使って該当のアセンブリをロードする。次のように実行すると良い。

[System.Reflection.Assembly]::LoadWithPartial("Oracle.DataAccess")

CodeZine の PowerShell 記事でも同様の方法で読みこんでいる。他にもメソッドはあるので、そちらはリンク先を参照してほしい。

あとは New-Object コマンドレットで Connection などを使っていくだけだ。

$connectionString = "Data Source=127.0.0.1:1521/db;User Id=user;Password=password"
$connection = New-Object Oracle.DataAccess.Client.OracleConnection($connectionString)
...

なるほど、簡単だ。

10 min.