2014-11-03 1 views
0

У меня проблема с использованием powershell. Прежде всего, я хотел бы объяснить, что представляет собой соотношение:Запись 100 строк из базы данных oracle с использованием powershell

У меня есть база данных Oracle, работающая со столом NAMES. В таблице я получил около 10000 строк с данными. Я хотел бы, чтобы их сосчитать сезам 100 строк и затем «эхо» их на моем Powershell строке вот где возникает проблема, потому что я могу рассчитывать строки с помощью следующего сценария:

$query = “SELECT * FROM NAMES" 
      $command = $con.CreateCommand() 
      $command.CommandText = $query 
      $result = $command.ExecuteReader() 
      $test= $result|Measure-Object 



$i=$test.Count 

Номер, который возвращает это правильный номер, но тогда это идет не так, потому что, когда я хочу использовать цикл по каждому элементу я не могу получить имена из моей таблицы

Вот Ват я получил maybey это помогает

foreach ($Row in $query.Tables[0].Rows) 
{ 
    write-host "value is : $($Row[0])" 
} 

надежда кто-то находит ответ

+0

Разве вы не хотите перебирать '$ result', а не' $ query'? – arco444

ответ

1

Вам не хватает strict mode: Set-StrictMode -Version latest. Установив его, вы получите гораздо более информативное сообщение об ошибке:

$query = "SELECT * FROM NAMES" 
foreach ($Row in $query.Tables[0].Rows) { ... } 
Property 'Tables' cannot be found on this object. Make sure that it exists. 
+ foreach ($Row in $query.Tables[0].Rows) { ... } 

Переменная $query не содержит элемент Tables, поэтому попытка прочитать это бесполезно. Казалось бы, переменная $result содержит член Tables. Это зависит от поставщика данных, который вы используете, и чего нет в примере кода.

Смежные вопросы