如何使用 Hibernate 作为 SYSDBA 连接到 Oracle 数据库?
问问题
883 次
2 回答
1
你为什么想做这个?
Hibernate 是一种无需以任何有意义的方式与数据库接触即可构建数据库应用程序的工具。
SYSDBA 是一种以 SYS、数据字典的所有者和数据库中最强大的用户身份连接到 Oracle 数据库的协议。这是一个管理角色。很少有人需要以 SYS 身份连接,而唯一需要这样做的人是 DBA。根据我的经验,DBA 厌恶和厌恶 Hibernate 应用程序。
简而言之,Hibernate 提供对数据库的通用、抽象访问,而 SYSDBA 需要特定的手动访问。无论您想要实现什么,都必须有比尝试通过 Hibernate 使用 SYSDBA 更好的方法。
于 2012-10-27T06:50:29.697 回答
0
Oracle 的 JDBC 开发人员指南中记录的方法是在获取连接时传递特定属性:
Properties props = new Properties()
props.put("username", "sys");
props.put("password", "some_very_secure_and_secret_password");
props.put("internal_logon", "sysdba");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@....", props);
我不知道 Hibernate 是否足够灵活,可以自定义连接方式。
另一种方法是简单地提供sys as sysdba
连接的用户名(注意空格!)。我不知道这是否是受支持的解决方案,但它似乎可以正常工作。
于 2012-10-27T07:59:28.753 回答