2015-09-25 70 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]