我正在制作一个工具来重置/解锁oracle用户,我通过sqlplus使用以下语句解锁用户“ALTER USER myUserName ACCOUNT UNLOCK;”但是,每次我通过我的C#代码执行语句时,我都会看到这个错误!经过数小时的试验和错误,我正在寻求帮助!任何帮助将是伟大的!使用C#输入更改用户声明到Oracle中使用C#
另外,如果有人可以建议如何在提交声明后得到Oracle的回应?
谢谢大家提前!
public ActionResult SubmitRequest()
{
String connectionString ="Data Source = (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=1234)) (CONNECT_DATA=(SID=mySID)));"+
"User Id="+Username+";"+
"password="+password+ ";";
OracleConnection con = new OracleConnection();
con.ConnectionString = connectionString;
if (con.State == ConnectionState.Closed)
{
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "ALTER USER myUserName ACCOUNT UNLOCK;"
cmd.ExecuteNonQuery();
}
con.Close();
return View();
}
错误:
Server Error in '/' Application.
Invalid operation. The connection is closed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: Invalid operation. The connection is closed.
Source Error:
Line 134: cmd.CommandText = CommandUnlock;
Line 135: con.Open();
Line 136: cmd.ExecuteNonQuery();
,也是我得到同样的错误,当我使用 - “cmd.ExecuteScalar();”
感谢马赫迪在这里你的帮助! :) – leon03
我使用该链接来构建我的代码,我真的怀疑它曾经工作过!经过一番研究,我的代码看起来如何发布它。但最初我从我从那个链接中抓到的东西开始。至于你以前的帖子,我需要解锁用户,而不是找到用户的状态。 原谅我在这里的知识不足,我有点努力学习nooob。 如何创建程序?在哪里输入: 创建或更换过程UNLOCK_USER(P_USER IN VARCHAR2)是 BEGIN EXECUTE IMMEDIATE'ALTER USER'|| P_USER || 'ACCOUNT UNLOCK'; END UNLOCK_USER;? – leon03
你可以使用这些应用程序pl/sql developer,oracle sql developer,SQLPlus来创建你的程序。甚至可以使用C#IDE创建它。有了这些应用程序,您应该登录您的架构,然后打开新的SQL窗口,然后创建您的过程。注意:您的oracle用户必须拥有修改用户xx的权限。 –