Posted on 2009-02-20 17:10
巴西木 阅读(2289)
评论(0) 编辑 收藏 引用 所属分类:
Oracle 、
Java
早看到这篇文章好多问题都不是问题了
http://jamesq.bokee.com/1263981.html
oracle的sys用户怎么通过jdbc连接
经过GOOGLE 总算知道了如何在JDBC中使用SYSDBA角色连接ORACLE数据库
在DriverManager.getConnection通过Properties 设置连接的defaultRowPrefetch,nternal_logon 等信息。
oracle的sys用户怎么通过jdbc连接
经过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();

}

}

