【问题标题】:connect through for OraOLEDB/connecting from one user to another using OraOLEDB/Connect from one user to another Oracle通过 OraOLEDB 连接/使用 OraOLEDB 从一个用户连接到另一个用户/从一个用户连接到另一个 Oracle
【发布时间】:2021-11-17 13:51:11
【问题描述】:

我已使用以下代码将一个用户的 connect through 权限授予另一个用户

alter user user_a grant connect through user_b;

然后使用 sqlplus,我可以使用下面的命令使用 user_b 的用户 ID 和密码连接到 user_a

sqlplus user_b[user_a]/password_b@MyDatabase

我如何使用 OraOLEDB 来做到这一点

我在下面尝试过,但它给出了用户 ID 字符串错误

connstring = "Provider=OraOLEDB.Oracle;Persist Security Info=False;Data Source=MyDatabase;User ID=user_b[user_a];Password=password_b;Data Provider=MSDASQL"

【问题讨论】:

    标签: excel oracle connection-string ado oraoledb


    【解决方案1】:

    你好

    ODP.NET 应用程序可以通过设置 连接中的“代理用户 ID”和“代理密码”属性 细绳。真实用户由“用户 ID”属性指定。 可选地,为了加强安全性,真实用户的密码可以 通过“密码”连接字符串属性提供。什么时候 将分布式事务与代理结合使用 身份验证,真实用户的密码不再是可选的,它 必须提供。

    connect through 应使用上述格式在 OLEDB 连接字符串中配置:

    Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Proxy User Id=pUserId;Proxy Password=pPassword;
    

    【讨论】:

    【解决方案2】:

    看起来只有用于 EXCEL 宏的 ADODB 连接的选项 Visual basic 是在 alter 语句下运行

    alter session set CURRENT_SCHEMA=proxy_user

    但随后需要为实际用户显式处理授权,这是使用 this 的缺点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多