Я пытаюсь выполнить команду для создания БД на удаленной машине, используя Robotframework SSH, который выдаст привилегированную ошибку.Но если я попытаюсь выполнить ту же команду над приложением PUTTY или с помощью библиотеки Paramiko, она будет работать без проблем.Как я могу исправить эту проблему?
Сначала я попытался выполнить команду напрямую через приложение-замазку, и она выполняется правильно.Но когда я выполняю в Python Shell, используя SSHLibrary, он выдаст следующую ошибку.
from SSHLibrary import SSHLibrary # library from Robotframework
ob=SSHLibrary()
ob.open_connection("192.168.5.10")
ob.login("Administrator","Password")
print ob.execute_command("db2 create db test7")
Вывод будет ::
u'SQL1092N The requested command or operation failed because the user ID
does \r\r\nnot have the authority to perform the requested command or
operation. User \r\r\nID: "LOCAL SERVICE".\r\r'
Если я выполню эту команду напрямую, используя библиотеку paramiko, она успешно создаст базу данных. Это рабочий код:
import paramiko
c=paramiko.Transport(('192.168.5.10',22))
c.connect(username='Administrator',password='Password')
sess=c.open_channel(kind='session')
sess.exec_command('db2 create db test7')
print sess.recv(4096)
вывод будет:
DB20000I The CREATE DATABASE command completed successfully.
Хотя SSHLibrary внутренне зависит от библиотеки paramiko , она не может выполнить команду.Но если я использую библиотеку paramiko напрямую, она будет работать как приложение для замазки.Интересно, как это не работает с Robot SSHLibrary.Кто-нибудь, пожалуйста, помогите мне решить эту проблему ...
Примечание: На удаленном компьютере установлены Windows с Cygwin для включения SSH!