Powershell使用SQLPLUS执行查询

我有安装Oracle 10G的RHEL服务器。 我需要编写一个PowerShell脚本来查询我的数据库并获得输出。 我已经导入了Posh-SSH模块,并且能够连接到我的RHEL服务器并使用Invoke-SSHCommand执行命令,但是,我需要使用Invoke-SSHCommand来执行sqlplus命令。 通常情况下,我们可以使用EOF在perl中实现这一点,但是我们无法find任何方式使用PowerShell来完成这个任务。

使用EOF的Perl代码:

 $command="export ORACLE_SID=database sqlplus -S user/password<< EOF set feedback off select username from dba_users; EOF" 

我的Powershell代码:

 $command="export ORACLE_SID=database sqlplus -S user/password<< EOF set feedback off select username from dba_users; EOF" $result = Invoke-SSHCommand -Index 0 -Command $command Write-Output $result 

我的Powershell输出:

 Host : XX.XX.XXX.XXX Output : ExitStatus : 127 

我猜,EOF字符可以被Powershell理解。

任何人都可以帮助我转换为PowerShell? 我尝试了很多方法,但都是徒劳的。 每次我执行这个代码,我得到退出代码:127。

你在Linux上使用的那个“EOF”string不是和字符。 你正在使用“这里的文件”。 EOF只是perl的一个string,可以知道你的文档在哪里结束。 我总是使用不可能在这里find的东西,比如fInI。

电源shell。 是啊。 我们的噩梦*尼克斯人。