【发布时间】:2016-11-28 13:02:21
【问题描述】:
网上似乎没有关于如何在非常特定的场景中使用 Oracle Data Provider for .NET (ODP.NET) 连接到 Oracle(12G 及更高版本)的答案:
- 用户在数据库外部被识别
- 通过代理连接授予用户访问另一个架构(应用程序用户)的权限
用户设置如下:
CREATE USER user_in_question
IDENTIFIED EXTERNALLY
-- etc.
并且代理连接是这样设置的:
ALTER USER specified_app_user GRANT CONNECT THROUGH user_in_question
创建 ODP.NET OracleConnection 字符串时的逻辑方法是这样的(使用用户友好的 OracleConnectionStringBuilder):
var connBuilder = new OracleConnectionStringBuilder
{
UserID = "/", // External login using the user running the program
ProxyUserId = "specified_app_user",
DataSource = "database",
};
这不起作用。也不提供空白的“密码”或空白的“代理密码”。也不会删除 UserId。
那么在这些情况下如何使用 ODP.NET 进行连接?
【问题讨论】:
标签: c# oracle proxy connection odp.net