我想SSH到远程服务器并运行一个使用sqlplus连接到Oracle DB的python脚本。 SSH可以正常工作:
os.system('sudo ssh Hostname python < sql.py')
sql.py返回此错误消息:
('', 'bash: sqlplus: Permission denied\n'))
('Line :', '')
('Line :', 'bash: sqlplus: Permission denied\
有任何线索吗?因为我的Python版本是2.6,所以不能选择Cx_oracle。
谢谢:)
这是sql.py:
#!/usr/bin/python
import subprocess
from subprocess import Popen, PIPE
sql="select * from dba_users;"
def connectDB(sql):
p = subprocess.Popen(['su','oracle','sqlplus','/ as sysdba','shell = True'],stdin=subprocess.PIPE,
stdout=subprocess.PIPE,stderr=subprocess.PIPE)
stdout_lines= p.communicate(sql)
return stdout_lines
sqlplus_output = connectDB(sql)
for line in sqlplus_output:
print("Line :" ,line)