欢迎来到天天文库
浏览记录
ID:10730739
大小:29.00 KB
页数:5页
时间:2018-07-07
《在java程序中使用oracle外部用户》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在Java程序中使用Oracle外部用户Oracle外部用户(ExternalUser)可以访问Oracle数据库,但该用户不需要Oracle密码验证,验证工作交由操作系统来完成。这就意味着,如果用户能通过某一用户名/密码进入操作系统,那么他就有权限访问Oracle数据库。试想,如果一台客户机经常访问Oracle数据库,用户会非常厌烦每一次都要输入同样的用户名和口令。另外,从安全角度考虑,每次输入用户名、口令也不太合适。 向Oracle数据库中添加外部用户 我们使用ora_server@ora_carl(ora_server是数据库所在的机器名,ora_carl是数据库的实
2、例名)为例,来说明在Oracle中如何创建外部用户。我们假定客户端的操作系统为WindowsXP,用户名是carlwu,具体步骤如下: 1)在客户机的SQL/Plus中以系统管理员身份登陆 SQL>connsys/manager@ora_carlassysdba 已连接。 2)查看参数os_authent_prefix(操作系统验证前缀)参数 SQL>showparametersos_authent_prefixNAMETYPEVALUE------------------------------------------------------------------
3、---------------------------------os_authent_prefixstringOPS$ 3)创建外部用户carlwu,注意用户名前面要加上步中查出来的os_authent_prefix(操作系统验证前缀)参数值,本例中为ops$。 SQL>createuserops$carlwuidentifiedexternally;用户已创建 4)将connect,resource权限赋给该外部用户 SQL>grantconnecttoops$carlwu; 授权成功。 SQL>exit 从Oracle9iEnterpriseEditionR
4、elease9.2.0.5.0-Production WiththePartitioning,OLAPandOracleDataMiningoptions JServerRelease9.2.0.5.0-Production中断开 5)在客户机上验证刚才创建的外部用户是否成功,注意在conn后省略了用户名/口令的字样,只剩下/@加上实例名。 C:DocumentsandSettingscarlwu>sqlplus/nolog SQL*Plus:Release9.2.0.5.0-Productionon星期五12月216:12:092005 Copyright(c
5、)1982,2002,OracleCorporation.Allrightsreserved. SQL>conn/@ora_carl; 已连接。 恭喜,到现在为止,我们已经成功创建了一个Oracle外部用户。Java程序 TestExternalUser.java源代码如下所示,testExternalUser()方法使用外部用户连接Oracle数据库packagetest;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.
6、sql.ResultSet;importjava.sql.SQLException;publicclassTestExternalUser{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubTestExternalUserteu=newTestExternalUser();teu.testExternalUser();}publicvoidtestExternalUser(){Connectionconn1=null;try{conn1=getCon();Prepar
7、edStatementps=conn1.prepareStatement("selectto_char(sysdate,'YYYY-MM-DDHH24:MI:SS')fromdual");ResultSetrs=ps.executeQuery();if(rs.next()){System.out.println("Databaseserver'sdateis:"+rs.getString(1));}rs.close();ps.close();}catch(SQLExceptionsqle){
此文档下载收益归作者所有