【问题标题】:set echo ON in Python call to Oracle SQL is not working在对 Oracle SQL 的 Python 调用中设置 echo ON 不起作用
【发布时间】:2019-09-19 02:53:37
【问题描述】:

我是 Python 的初学者,我正在尝试从 Python 程序访问 oracle DB。我可以使用以下代码获得输出。但是,我想要与输出一起运行的 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 查询也与以下输出一起打印:

【问题讨论】:

    标签: python subprocess


    【解决方案1】:

    在使用 SQL 文件而不是直接命令后修复。

    sqlplus = Popen(["sqlplus", "-S", "/", "as", "sysdba", "@file.sql"], stdout=PIPE, stdin=PIPE)

    【讨论】:

      猜你喜欢
      • 2012-08-13
      • 2017-12-10
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      相关资源
      最近更新 更多