我正试图在APEX上实现一个表单,该表单允许用户(在本例中为dba)选择数据库,然后更改其用户名和密码。从APEX更改Oracle数据库密码密码
我能够正确设置输入字段,但我完全失去了如何将其与实际数据库绑定在一起。我假设我将不得不使用数据库链接访问不同的数据库。
这可能吗?
我正试图在APEX上实现一个表单,该表单允许用户(在本例中为dba)选择数据库,然后更改其用户名和密码。从APEX更改Oracle数据库密码密码
我能够正确设置输入字段,但我完全失去了如何将其与实际数据库绑定在一起。我假设我将不得不使用数据库链接访问不同的数据库。
这可能吗?
我设计,不需要存储过程或升高访问单个用户的解决方案。它有点黑了,但它的作品!
用户通过常规的APEX表格输入他们的凭证和所需的新密码。
表单数据使用替换字符串在带有iframe的HTML区域中处理。即:<iframe height='300' width='100%' scrolling="no" src="http://***SERVER***/cgi-bin/chguserpwd.cgi dbname=&DATABASE_NAME.&username=&USERNAME.&oldpwd=&CURR_PASSWORD.&newpwd=&NEW_PASSWORD."></iframe>
CGI脚本做的工作,并通过iframe
#!/usr/bin/ksh
my_input=$QUERY_STRING;
dbname=`echo "$QUERY_STRING" |awk '{FS="&"} {print $1}'|awk '{FS="="} {print $2}'`
username=`echo "$QUERY_STRING" |awk '{FS="&"} {print $2}'|awk '{FS="="} {print $2}'`
oldpwd=`echo "$QUERY_STRING" |awk '{FS="&"} {print $3}'|awk '{FS="="} {print $2}'`
newpwd=`echo "$QUERY_STRING" |awk '{FS="&"} {print $4}'|awk '{FS="="} {print $2}'`
print "Content-Type: text/html\n\n"; print " Database Name is $dbname ............ User is $username ";
cd **dir**
./chguserpwd $dbname $username $oldpwd $newpwd
返回结果执行从CGI脚本./chguserpwd
set markup HTML on
prompt .
alter user &1 identified by &2;
prompt Password has been changed
我不认为你将能够做这样的事情:
alter user [email protected]_database identified by new_password
您可能需要编写一个接受用户名和密码,并改变用户的密码在远程数据库中的存储过程为你。然后,你可以执行:
begin
change_password('xyz','new_password')@remote_database;
end;