2015-09-25 69 views
0

我有一个连接到SQL Server的Oracle数据库。连接正常工作,但不幸的是,我不知道用于该连接的密码。现在我需要在Oracle中更改密码。通过链接服务器从SQL Server更改ORACLE中的密码

它是运行像

SELECT * FROM OPENQUERY([oracle], ' 
    ALTER USER OracleUser IDENTIFIED BY pswd; 
    SELECT 1 FROM DUAl') 

一个好主意或者,也许,是有另一种解决方案?

UPD 我的查询与错误结束

OLE DB提供程序“OraOLEDB.Oracle”链接服务器“甲骨文”表示要么对象没有列,或当前用户没有权限该对象上

+0

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/3d9580b8-c335-4344-8691-32d56a39b700/oracle-user-password-change-via-linked-server-with-sql-服务器2005年?论坛= sqldatabaseengine - 也许这将工作,从来没有尝试过。 –

+0

当然,更好的想法是登录Oracle数据库的用户有权更改密码,DBA角色作为示例,并从那里开始工作? – kevinsky

+1

谢谢罗伯特。 EXEC('...')AT [oracle]适用于我。此查询导致错误'Server'oracle'未配置为链接服务器的RPC',但根据[本文](http://www.thesqlreport.com/?p=120)更改了链接服务器。而现在我被难倒了一个oracle错误'ORA-28221:REPLACE not specified'。看来我需要调用oracle管理员。 –

回答

0

对于通过链接服务器从SQL Server在Oracle中更改密码正确的语法是

EXEC ('ALTER USER OracleUser IDENTIFIED BY new_password REPLACE old_password') AT [oracle]