Powershell выполняют Запросы с помощью SQLPLUS

У меня есть сервер RHEL с Oracle 10G установленный. Я должен записать powershell сценарий, чтобы запросить мою базу данных и получить вывод. Я импортировал Шикарный-SSH модуль и могу соединиться со своим сервером RHEL и выполнить использование команд Invoke-SSHCommand однако, я нуждаюсь в помощи в выполнении sqlplus команда с помощью моего Invoke-SSHCommand. Обычно, мы можем достигнуть этого в жемчуге с помощью EOF, но, не можем найти любой способ получить это сделанное использование powershell.

код для Perl с помощью EOF:

$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.

1
задан 18 February 2015 в 23:40
2 ответа

Та строка "EOF", которую вы там используете в Linux, не является и не является символом. Вы используете "здесь документ". EOF - это просто строка для perl, чтобы знать, где заканчивается Ваш документ. Я всегда использую что-то, что вряд ли можно найти в этом документе, например fInI.

Powershell. Да. Кошмар для нас, друзья.

0
ответ дан 4 December 2019 в 08:04

Я не слишком много знаю о командах Linux. Вы можете попробовать

$UserName = "username"
$Password = "password"
$tnsalias = "tnsalias"
$SqlQuery =
@'
set feedback off
select username from dba_users;
exit
'@

Invoke-SSHCommand -Command "$SqlQuery |
 sqlplus $username/$password@$tnsalias"
0
ответ дан 4 December 2019 в 08:04

Теги

Похожие вопросы