请教一下,更改ORACLE数据中的用户密码,怎样用C#程序写入ORACLE数据库中,小弟初学,请大虾门指教

解决方案 »

  1.   

    只要执行这样的sql语句即可
    alter user yourusername identified by yourpass;
      

  2.   

    以管理员登入
    alter user yourusername identified by yourpass;
      

  3.   

    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;我写了个过程有编译错误,请老大指点
      

  4.   

    ALTER USER p_UserName identified by p_NewPwd;alter 是DDL 语句不能在procedure 直接使用,必须用
    Execute Immediate 'ALTER USER p_UserName identified by p_NewPwd'
    你再试试!
      

  5.   

    没有错误啊,数据库中的数据都可以改但是USER中的密码就是改不了,我实验了,如果是
    Execute Immediate 'ALTER USER charge identified by aaa'; 即用户和密码是常量就可以,但是变量怎么做呢
      

  6.   

    变量常量没关系阿,终究你索要
    Execute Immediate后边是一个string啊
    就算是变量,你只要之前拼好这个string就可以了,
    顺便说下,你不要多加单引号之类的阿