установить эхо ВКЛ в Python вызов Oracle SQL не работает - PullRequest
0 голосов
/ 19 сентября 2019

Я новичок в Python, я пытаюсь получить доступ к Oracle Oracle из программы Python.Я могу получить вывод с помощью приведенного ниже кода.Тем не менее, я хочу запрос SQL, который я запустил вместе с выводом.Я только получаю вывод.Я пытался «включить эхо», но это не работает.Пожалуйста, помогите мне.

#!/usr/bin/python

##  Imports
from subprocess import Popen, PIPE
import os
import sys

sql1='set echo ON; \n select name from v$database;'
sqlplus = Popen(["sqlplus", "-S", "/", "as", "sysdba"], stdout=PIPE, stdin=PIPE)
sqlplus.stdin.write(sql1);

out, err = sqlplus.communicate()
print out

Текущий вывод:

=================
Exexution Details:
===========
 ./test_db.py
NAME
---------
testdb

Я хочу, чтобы запрос SQL также печатался вместе с выводом, как показано ниже:

1 Ответ

0 голосов
/ 21 сентября 2019

Исправлено после использования файла SQL вместо прямых команд.

sqlplus = Popen (["sqlplus", "-S", "/", "as", "sysdba", "@file.sql "], стандартный вывод = ТРУБА, стандартный ввод = ТРУБА)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...