Powershell executa consultas usando o SQLPLUS

1

Eu tenho um servidor RHEL com o Oracle 10G instalado. Eu preciso escrever um script PowerShell para consultar meu banco de dados e obter a saída. Eu importei o módulo Posh-SSH e sou capaz de me conectar ao meu servidor RHEL e executar comandos usando Invoke-SSHCommand , no entanto, eu preciso de ajuda para executar o comando sqlplus usando meu Invoke-SSHCommand . Normalmente, podemos conseguir isso em perl usando EOF, mas não conseguimos encontrar uma maneira de fazer isso usando o powershell.

código para Perl usando EOF:

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

Meu código do 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

Minha saída para o Powershell:

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

Eu acho que os caracteres EOF são entendidos pelo Powershell.

Alguém pode me ajudar a converter isso para o powershell ?. Eu tentei de muitas maneiras, mas tudo em vão. Toda vez que executo este código, recebo o código de saída: 127.

    
por santhosh krishna 17.02.2015 / 11:42

1 resposta

0

Essa string "EOF" que você está usando no Linux não é e é caractere. Você está usando um "documento aqui". O EOF é apenas uma string para perl saber onde seu documento aqui termina. Eu sempre uso algo que é improvável de ser encontrado no documento aqui, como fInI.

Powershell. Sim. Pesadelo para nós * nix gente.

    
por 11.03.2016 / 22:50