I want to SSH to remote server and run a python script which uses sqlplus to connect to Oracle DB. SSH works fine:
os.system('sudo ssh Hostname python < sql.py')
The sql.py returns this error message:
('', 'bash: sqlplus: Permission denied\n'))
('Line :', '')
('Line :', 'bash: sqlplus: Permission denied\
Any clues? Cx_oracle is not an option since my Python version is 2.6.
Thanks:)
Here is 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)