【问题标题】:Writing 100 rows form oracle database using powershell使用powershell从oracle数据库中写入100行
【发布时间】:2025-12-10 06:05:02
【问题描述】:

我在使用 powershell 时遇到问题。 首先我想解释一下情况是什么:

我有一个使用表 NAMES 运行的 Oracle 数据库。在表中,我得到了大约 10000 行数据。我想将它们计数到 100 行,然后在我的 powershell 提示符上“回显”它们,这就是问题所在,因为我可以使用以下脚本计算行数:

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



$i=$test.Count

返回的数字是正确的数字,但是它出错了,因为当我想使用 foreach 循环时,我无法从我的表中获取名称

这是我得到的,也许它有帮助

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

希望有人能找到答案

【问题讨论】:

  • 你不想迭代$result而不是$query吗?

标签: oracle powershell


【解决方案1】:

您缺少strict modeSet-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 成员。这取决于您使用的数据提供程序以及代码示例中缺少的内容。

【讨论】: