0

powershell と oracle に問題があります。

これは私のコードです

Add-Type -Path "C:\app\aasif\product\11.2.0\client_2\odp.net\managed\common\Oracle.ManagedDataAccess.dll"

$con = New-Object Oracle.ManagedDataAccess.Client.OracleConnection("User Id=sys;Password=password;Data Source=myserver/oracle;DBA privilege=SYSDBA")

$con.Open()
$cmd=$con.CreateCommand()
$cmd.CommandText="select distinct owner from all_tables where table_name = 'mytable'"

$rdr=$cmd.ExecuteReader()

if ($rdr.Read()) {
  $rdr.GetString(0)
}

$con.Close()

このクエリを SQLPlus で直接実行すると、次のようになります。

RS123
RS456
RS789
RS741
RS963

私のパワーシェルでは、クエリによって返されたすべてのデータを表示することはできませんが、最初の行のみを表示できます。

RS123

これどうやってするの?

ありがとう

4

2 に答える 2

1

代わりに、クエリの出力からのすべての値を読み取っif($rdr.Read())て操作するために書き込む必要があると思います。while($rdr.Read())

実際、私はpowershellの初心者ですが、一般的な言語では、この条件をループに入れる必要があります。

于 2013-05-21T13:55:48.677 に答える