У меня есть база данных Oracle, подключенная к SQL Server. Соединение работает правильно, но, к сожалению, я не знаю пароль, используемый для этого соединения. Теперь мне нужно изменить пароль в Oracle.Сменить пароль в ORACLE с SQL Server с помощью связанного сервера
Это хорошая идея, чтобы запустить что-то вроде
SELECT * FROM OPENQUERY([oracle], '
ALTER USER OracleUser IDENTIFIED BY pswd;
SELECT 1 FROM DUAl')
Или, может быть, есть другое решение?
UPD Мой запрос завершается с ошибкой
Поставщик OLE DB «OraOLEDB.Oracle» для связанного сервера «оракула» указывает на то, что либо объект не имеет столбцов или текущий пользователь не имеет прав на этом объекте
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/3d9580b8-c335-4344-8691-32d56a39b700/oracle-user-password-change-via-linked-server-with-sql- server-2005? forum = sqldatabaseengine - возможно, это сработает, никогда не пробовал. –
Конечно, лучшей идеей было бы входить в базу данных Oracle с пользователем, который имеет право изменять пароли, роль DBA в качестве примера и работать оттуда? – kevinsky
Спасибо, Роберт. EXEC ('...') AT [oracle] работает для меня. Этот запрос вызвал ошибку «Сервер» oracle «не настроен для RPC для связанного сервера», но я изменил связанный сервер в соответствии с [этой статьей] (http://www.thesqlreport.com/?p=120). И теперь я озадачен ошибкой oracle 'ORA-28221: REPLACE not defined'. Кажется, мне нужно позвонить администратору оракула. –