Oracleテーブルの項目名を取得するPowerShellスクリプト

powershell コンピュータ
powershell
テーブルの項目名を取得する方法は色々あるとは思いますが、スクリプトで取得する方法を押さえておくとSQLの生成までスクリプトでやらせることが出来たりして結構便利です。
<#
.SYNOPSIS
 Oracleデータベースのテーブルの項目を取得する。
.DESCRIPTION
 サンプルスクリプト
#>

using namespace System.Data.OracleClient

# アセンブリのロード
Add-Type -AssemblyName System.Data.OracleClient

# 接続文字列
$User = "ユーザーID"
$Pass = "パスワード"
$DataSource = "データソース"
$Owner = "オーナー"
$TableName = "テーブル名"
$ConnectionString = "Data Source=${DataSource};User ID=${User};Password=${Pass};Integrated Security=false;"

# 接続
$Connection = [OracleConnection]::new($ConnectionString)
$Connection.Open()

# SQL
$sqlString = "SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = '${Owner}' AND TABLE_NAME = '${TableName}'"

# コマンドオブジェクトを生成
$Command = [OracleCommand]::new() | % {
    $_.Connection = $Connection
    $_.CommandText = $sqlString
    $_
}

# SQLの結果を読み込み
$Reader = $Command.ExecuteReader()

while($Reader.Read())
{
    Write-Host $Reader['COLUMN_NAME']
}

$Reader.Dispose()

$Command.Dispose()

# 切断
$Connection.Dispose()

コメント