日期:2014-05-17  浏览次数:20883 次

一个简单的修改sys用户密码的问题
要做一个功能,修改sys用户的密码。

                //数据库连接字符串
                string oracleStr = string.Format(@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT=1521)))(CONNECT_DATA=(SERVER={0})(SERVICE_NAME={1})));User={2};Password={3};Persist Security Info=true;", ip, sid, uid, oldPwd);

                //打开数据库
                OracleConnection con = new OracleConnection(oracleStr);
                con.Open();//在这里提示: ORA-28009: 应当以 SYSDBA 身份或 SYSOPER 身份建立 SYS 连接

                //执行
                string cmdStr = "update dba_users set password='" + newPwd + "' where username='" + uid + "'";
                OracleCommand cmd = new OracleCommand(cmdStr, con);
                cmd.ExecuteNonQuery();

                //关闭数据库连接
                con.Close();
                con.Dispose();


 con.Open();--------在这里提示: ORA-28009: 应当以 SYSDBA 身份或 SYSOPER 身份建立 SYS 连接
该如何修改呢?


------解决方案--------------------

--修改密码是这个,不可直接更新数据字典中的密码字段
alter user 用户名 identified by 密码;