oracle的sys用户怎么通过jdbc连接
2012-03-02 11:07
656 查看
转自:http://jamesq.bokee.com/1263981.html
经过GOOGLE 总算知道了如何在JDBC中使用SYSDBA角色连接ORACLE数据库
在DriverManager.getConnection通过Properties 设置连接的defaultRowPrefetch,nternal_logon 等信息。
经过GOOGLE 总算知道了如何在JDBC中使用SYSDBA角色连接ORACLE数据库
在DriverManager.getConnection通过Properties 设置连接的defaultRowPrefetch,nternal_logon 等信息。
// ----------------------------------------------------------------------------- // ConnectionOptions.java // ----------------------------------------------------------------------------- import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; /** * ----------------------------------------------------------------------------- * The following class provides an example of using jdbc to connect to an * Oracle database using several advanced options. For example, one of the most * used option is connecting to a database as SYSDBA. The following table * contains * * Connection Properties Recognized by Oracle jdbc Drivers * ------------------------------------------------------- * Name Short Name Type Description * ------------------- ---------- -------- ----------------------------------- * user n/a String The user name for logging into the * database. * password n/a String The password for logging into the * database. * database server String The connect string for the database. * internal_logon n/a String A role, such as SYSDBA or SYSOPER, * that allows you to log on as SYS. * defaultRowPrefetch prefetch String (containing integer value) * The default number of rows to * prefetch from the server. * (default value is "10") * remarksReporting remarks String (containing boolean value) * "true" if getTables() and * getColumns() should report * TABLE_REMARKS; equivalent to using * setRemarksReporting(). * (default value is "false") * defaultBatchValue batchvalue String (containing integer value) * The default batch value that triggers * an execution request. * (default value is "10") * includeSynonyms synonyms String (containing boolean value) * "true" to include column information * from predefined "synonym" SQL * entities when you execute a * DataBaseMetaData getColumns() call; * equivalent to connection * setIncludeSynonyms() call. * (default value is "false") * * ----------------------------------------------------------------------------- */ public class ConnectionOptions { final static String driverClass = "oracle.jdbc.driver.OracleDriver"; final static String connectionURL = "jdbc:oracle:thin:@localhost:1521:TRUESRC"; final static String userID = "scott"; final static String userPassword = "tiger"; Connection con = null; /** * Construct a QueryExample object. This constructor will create an Oracle * database connection. */ public ConnectionOptions() { Properties conProps = new Properties(); conProps.put("user", userID); conProps.put("password", userPassword); conProps.put("defaultRowPrefetch", "15"); conProps.put("internal_logon", "sysdba"); try { System.out.print(" Loading jdbc Driver -> " + driverClass + "n"); Class.forName(driverClass).newInstance(); System.out.print(" Connecting to -> " + connectionURL + "n"); this.con = DriverManager.getConnection(connectionURL, conProps); System.out.print(" Connected as -> " + userID + "n"); } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(1); } catch (InstantiationException e) { e.printStackTrace(); System.exit(1); } catch (IllegalAccessException e) { e.printStackTrace(); System.exit(1); } catch (SQLException e) { e.printStackTrace(); System.exit(1); } } /** * Method to check which database user we are logged in as */ public void performUserQuery() { Statement stmt = null; ResultSet rset = null; String queryString = "SELECT user, TO_CHAR(sysdate, 'DD-MON-YYYY HH24:MI:SS') " + "FROM dual"; try { System.out.print(" Creating Statement...n"); stmt = con.createStatement (); System.out.print(" Opening ResultsSet...n"); rset = stmt.executeQuery(queryString); rset.next(); System.out.println(" Database User -> " + rset.getString(1)); System.out.println(" Date / Time -> " + rset.getString(2)); System.out.println(); System.out.print(" Closing ResultSet...n"); rset.close(); System.out.print(" Closing Statement...n"); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } /** * Close down Oracle connection. */ public void closeConnection() { try { System.out.print(" Closing Connection...n"); con.close(); } catch (SQLException e) { e.printStackTrace(); } } /** * Sole entry point to the class and application. * @param args Array of String arguments. */ public static void main(String[] args) { ConnectionOptions co = new ConnectionOptions(); co.performUserQuery(); co.closeConnection(); } }
相关文章推荐
- 最近学习了如何以oracle的sys用户怎么通过jdbc连接
- JDBC Oracle sys 用户连接
- 【转】Oracle通过SYS_CONTEXT ()获取用户连接信息
- Oracle通过SYS_CONTEXT ()获取用户连接信息
- Oracle通过SYS_CONTEXT ()获取用户连接信息
- 忘记oracle的sys用户密码怎么修改
- 通过JDBC连接Oracle的十大灵活技术
- Oracle使用默认用户登陆时,conn sys/密码 as sysdba,密码怎么是什么都行啊?
- 【Oracle】Oracle通过JDBC_ODBC和JDBC连接数据库
- FLEX中的MXML通过JDBC连接ORACLE读取相关数据
- pb通过jdbc连接oracle
- oracle忘记sys/system/scott用户的密码怎么办
- 浅析Oracle中sys、system和Scott用户下的数据库连接问题
- 忘记oracle的sys用户密码怎么修改
- oracle忘记sys/system/scott用户的密码怎么办
- Oracle入门学习----通过jdbc连接oracle实例
- Oracle 11g 忘记sys用户密码和system用户密码,怎么办?
- oracle忘记sys/system/scott用户的密码怎么办?
- 关于Eclipse通过JDBC或者ODBC连接Oracle
- 通过JDBC连接Oracle的十大灵活技术