Bequeath Connection and SYS Logon

The following example illustrates how to use the internal_logon and SYSDBA arguments to specify the SYS login. This example works regardless of the database's national-language settings of the database.

/** Example of bequeath connection **/
import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.pool.*;

// create an OracleDataSource instance
OracleDataSource ods = new OracleDataSource();

// set neccessary properties
java.util.Properties prop = new java.util.Properties();
prop.put("user", "sys");
prop.put("password", "sys");
prop.put("internal_logon", "sysdba");
ods.setConnectionProperties(prop);

// the url for bequeath connection
String url = "jdbc:oracle:oci8:@";
ods.setURL(url);

// retrieve the connection
Connection conn = ods.getConnection();
... 

 
 
 
 
 
 
 
import oracle.jdbc.OracleConnection;
import oracle.jdbc.pool.OracleDataSource;

import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.Properties;

public class OracleOCI {

        public static void main(String[] args) {
                try {
                        // Set the connection properties.
                        // required: SYSDBA
                        Properties prop = new Properties();
                        // prop.setProperty("user","sys");
                        // prop.setProperty("password","password");
                        prop.setProperty("internal_logon", "sysdba");
                        String sql = "select banner from v$version";
                        OracleDataSource ods = new OracleDataSource();
                        ods.setConnectionProperties(prop);
                        ods.setURL("jdbc:oracle:oci8:@");
                        OracleConnection conn = (OracleConnection) ods.getConnection();
                        System.out.println("Connected");

                        Statement stmt = conn.createStatement();

                        ResultSet rs = stmt.executeQuery(sql);

                        while (rs.next()) {
                                System.out.println(rs.getString("banner"));
                        }

                        rs.close();
                        stmt.close();
                        conn.close();

                } catch (SQLException e) {
                        System.out.println(e.getMessage());
                }

        }
}

  

转载于:https://www.cnblogs.com/syksky/p/4782691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值