更改ORACLE数据中的用户密码

kmustty 2006-09-26 08:53:36
请教一下,更改ORACLE数据中的用户密码,怎样用C#程序写入ORACLE数据库中,小弟初学,请大虾门指教
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaful 2006-09-26
  • 打赏
  • 举报
回复
ALTER USER p_UserName identified by p_NewPwd;

alter 是DDL 语句不能在procedure 直接使用,必须用
Execute Immediate 'ALTER USER p_UserName identified by p_NewPwd'
你再试试!
kmustty 2006-09-26
  • 打赏
  • 举报
回复
set serveroutput on
CREATE OR REPLACE PROCEDURE charge.SP_ADMINPWD_MODIFY
(
p_Result OUT NUMBER,p_UserName IN VARCHAR2,
p_OldPwd IN VARCHAR2, p_NewPwd IN VARCHAR2
)
IS v_Pwd VARCHAR2(20);

BEGIN
p_Result:=0;
BEGIN
SELECT Password INTO v_Pwd FROM charge_Admin_Info WHERE UserName = p_UserName;
IF v_Pwd != p_OldPwd THEN
p_Result := 6;
RETURN;
END IF;
END;

BEGIN
UPDATE charge_Admin_Info SET Password = p_NewPwd WHERE UserName = p_UserName;
ALTER USER p_UserName identified by p_NewPwd;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
p_Result := 8;



我写了个过程有编译错误,请老大指点
kmustty 2006-09-26
  • 打赏
  • 举报
回复
老大,用程序具体该怎么调用这些语句呢?能否写个例子啊,谢谢
Eric_1999 2006-09-26
  • 打赏
  • 举报
回复
以管理员登入
alter user yourusername identified by yourpass;
AFIC 2006-09-26
  • 打赏
  • 举报
回复
只要执行这样的sql语句即可
alter user yourusername identified by yourpass;
AFIC 2006-09-26
  • 打赏
  • 举报
回复
变量常量没关系阿,终究你索要
Execute Immediate后边是一个string啊
就算是变量,你只要之前拼好这个string就可以了,
顺便说下,你不要多加单引号之类的阿
kmustty 2006-09-26
  • 打赏
  • 举报
回复
没有错误啊,数据库中的数据都可以改但是USER中的密码就是改不了,我实验了,如果是
Execute Immediate 'ALTER USER charge identified by aaa'; 即用户和密码是常量就可以,但是变量怎么做呢
AFIC 2006-09-26
  • 打赏
  • 举报
回复
我的意思是,你的语句执行万一后,你看看有没有错误。
kmustty 2006-09-26
  • 打赏
  • 举报
回复
老大能否说清楚一点啊,实在是不知道怎么做
AFIC 2006-09-26
  • 打赏
  • 举报
回复
dbms_output.put_line(sqlerrm)
kmustty 2006-09-26
  • 打赏
  • 举报
回复
过程是可以创建了,但是还是不能够更改用户的密码啊

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧