通过PowerShell运行多个oracle查询

时间:2015-08-13 09:49:37

标签: oracle powershell

我想通过PowerShell运行oracle查询。单行查询运行正常,没有错误。但现在我必须运行多行查询。

set lines 400
select name,host_name,status,open_mode,to_char(startup_time,'DD-Mon-yy HH24:MI:SS') STARTUP_TIME from v$inst,v$db;

我试过这个

$sql=@(
"set lines 400
select name,host_name,status,open_mode,to_char(startup_time,'DD-Mon-yy HH24:MI:SS') STARTUP_TIME from v`$inst,v`$db"
)

还有多个选项,但它给了我错误ORA-00922。

我在PowerShell中使用ODP.net。

请告知。

更新

如果我在oracle中运行此查询(没有PowerShell),那么它运行正常。

1 个答案:

答案 0 :(得分:1)

您的$ SQL变量是一个只有一行的数组:

$sql.Count
1

尝试以这种方式创建它:

$sql = @()
$sql += 'set lines 400'
$sql += 'select name,host_name,status,open_mode,to_char(startup_time,''DD-Mon-yy HH24:MI:SS'') STARTUP_TIME from v`$inst,v`$db"'
  

重要提示:

在字符串中使用'Quotes'时,你应该添加''Dobule Quoutes''否则它将是非法的 - 如下所示:''DD-Mon-yy HH24:MI:SS''