【发布时间】:2016-04-16 03:31:35
【问题描述】:
我需要一种使用 PowerShell 在远程 Oracle DB 上执行 SQL(通过导入 .SQL 脚本)的方法。除此之外,我还尝试在所需的文件夹位置以 .xls 格式输出结果。为了增加乐趣,我还想按自动计划运行此任务。请帮忙!
目前为止:
[System.Reflection.Assembly]::LoadWithPartialName ("System.Data.OracleClient") | Out-Null
$connection = "my TNS entry"
$queryString = "my SQL query"
$command = new-Object System.Data.OracleClient.OracleCommand($queryString, $connection)
$connection.Open()
$reader = $command.ExecuteReader()
$tempArr = @()
#read all rows into a hash table
while ($reader.Read())
{
$row = @{}
for ($i = 0; $i -lt $reader.FieldCount; $i++)
{
$row[$reader.GetName($i)] = $reader.GetValue($i)
}
#convert hashtable into an array of PSObjects
$tempArr+= new-object psobject -property $row
}
$connection.Close()
write-host "Conn State--> " $connection.State
$tmpArr | Export-Csv "my File Path" -NoTypeInformation
$Error[0] | fl -Force
【问题讨论】:
标签: sql oracle powershell