概要
PowerShellからODP.NETを利用してOracleデータベースにアクセスする。
PowerShellからODP.NETの利用
PowerShellから指定したパスのOracle.DataAccess.dllを読み込み、New-ObjectコマンドレットでODP.NETのオブジェクトを作成し利用する。
[System.Reflection.Assembly]::LoadFile("ORACLE_BASE\ORACLE_HOME\odp.net\bin\4\Oracle.DataAccess.dll") | Out-Null;
[String]$ConnectionString = "Data Source=hogehoge;User ID=ora_user;Password=ora_pass";
try {
[Oracle.DataAccess.Client.OracleConnection]$oraConn | Out-Null;
[Oracle.DataAccess.Client.OracleCommand]$oraCmd | Out-Null;
[Oracle.DataAccess.Client.OracleDataReader]$oraReader | Out-Null;
$oraConn = New-Object Oracle.DataAccess.Client.OracleConnection($ConnectionString);
[void]$oraConn.Open();
$oraCmd = New-Object Oracle.DataAccess.Client.OracleCommand;
$oraCmd.Connection = $oraConn;
$oraCmd.CommandText = "select table_name from user_tables";
$oraReader = $oraCmd.ExecuteReader();
while($oraReader.Read()) {
Write-Host $oraReader["table_name"];
}
} catch {
Write-Host "error:$($Error[0])";
} finally {
[void]$oraReader.Close();
[void]$oraCmd.Dispose();
[void]$oraConn.Close();
}
参考
- なし。