17,382
社区成员




//数据库连接字符串
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();
string oracleStr = string.Format(@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT=1521)))(CONNECT_DATA=(SERVER={0})(SERVICE_NAME={1})));User Id={2};Password={3};DBA Privilege=SYSDBA;", ip, sid, uid, oldPwd);
String url="jdbc:oracle:thin:@localhost:1521:testdb";
Properties connProperty = new Properties();
connProperty.put("user", "sys");
connProperty.put("password", "abc123");
connProperty.put("internal_logon", "sysdba");
Connection conn = DriverManager.getConnection(url,connProperty);