どうもこんばんは、PowerShellはいいぞおじさんです。
仕事でやりたかったことを元ネタにして
この記事を書いたところ、Oracle以外でもできるのか試してみようと思い、主要なDBMSについて調べて実践してみて記事を書きました。
本記事はまとめ記事(リンク集)となります。
なお、Oracle版で流れを詳細に書いており、それがわかっている前提でほかのDBMS版はやや簡略的に書いていますのでご了承ください。Oracle版から読み始めることをお勧めします。
大まかな流れはとしては
- コマンドラインツールの出力をXMLまたはJSONにする
- コマンドラインツールの出力が純粋にXMLまたはJSONのみの文字列となるようにする
- 以上で得られた出力をPowerShellのXML型またはJSON型に変換する
となります。
PowerShellで結果を扱いたいSQLに変更を加えずXMLまたはJSONを得るわけですが、どちらが簡単に出力できるかはDBMSによって違いました。今回、あくまでも元々のSQLをそのまま使えるということを重視しました。SELECT句を書き換えたりするともう少し選択の幅が広がるのですが、元々PowerShellを使わず手動で行っていた作業を自動化したいというのがモチベーションですので、元々使っていたSQLをPowerShellの変数に放り込めばいいようにしたかったらです。
各記事へのリンクとともに掲載します。
DBMS | XML/JSON | 記事 |
---|---|---|
Oracle | XML | リンク |
SQLite | JSON | リンク |
MySQL | XML | リンク |
PostgreSQL | JSON | リンク |
SQL Server | XML | リンク |