【问题标题】:Oracle's OID Service, Oracle.DataAccess and connection stringsOracle 的 OID 服务、Oracle.DataAccess 和连接字符串
【发布时间】:2011-06-05 11:30:25
【问题描述】:

我希望了解如何使用 Oracle.DataAccess.dll 在 .Net 中实现 OID 连接字符串。

OID 连接字符串采用以下格式: ldap://servname:389/instance,cn=OracleContext

当我使用它作为我的数据源时,我收到这个错误:..is an invalid connection string attribute

连接Oracle的OID的格式是什么?

谢谢你, 斯科特

【问题讨论】:

    标签: .net oracle oid


    【解决方案1】:

    在被转移了将近两年之后,我回到了这个问题并找到了解决方案。

    首先,Oracle 指出,Oracle 托管库不支持 ldap 支持。嘘。 http://www.oracle.com/technetwork/database/windows/downloads/odpmbetainstall-1696475.html

    其次,使用这个线程: How do I query LDAP from C# to resolve Oracle TNS hostname while using managed ODP.NET?

    我能够为 tns 连接字符串安装 ldap 查找,并最终将其传递给 nhibernate。

    我希望 Oracle 最终支持 ldap。

    【讨论】:

    • 你的“希望”已经实现——ODP.NET 托管驱动程序现在支持 LDAP——如果我能弄清楚如何使用它的话。 ;-)
    • 似乎,除非您连接的帐户是在 OID 中管理的 :(
    【解决方案2】:

    Oracle 的想法是在 TNS Admin 目录(通常为 $ORACLE_HOME/network/admin)的 LDAP.ORA 文件中配置 LDAP 服务器(在您的情况下为 OID)。你有类似的东西:

    DIRECTORY_SERVERS = (servname:389)
    DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
    DIRECTORY_SERVER_TYPE = OID
    

    您可能还需要调整 SQLNET.ORA 文件:

    NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
    

    那么你的连接字符串就是:

    Data Source=instance; User ID=scott; Password=tiger
    

    (甚至没有用户 ID 和密码)。

    更新:

    如果您无法更改 TNS Admin 目录,我知道的唯一选择是使用包含所有详细信息(服务器名称、端口、SID 或服务名称)的连接字符串。共有三种格式:

    TNS 语法:

    Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=serername)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=instanceSID))); User ID=scott; Password=tiger
    

    EZ 使用服务名称连接(注意服务器名称和服务名称之间的单斜杠):

    Data Source=//servername:1521/servicename; User ID=scott; Password=tiger
    

    EZ 使用 SID 连接(注意服务器名称和 SID 之间的双斜杠):

    Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger
    

    【讨论】:

    • 感谢您的回复。我同意这会奏效。在共享网络服务器环境中,我无法触及 TNSNAMES 文件或 SQLNET.ORA 文件,我需要通过连接字符串指定要连接到 OID 的连接字符串。这可能吗?
    • 我从未听说过或见过 OID 的无配置连接字符串。唯一无需配置的连接字符串是 TNS 语法或 EZ Connect(见上文)。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 2019-11-27
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    相关资源
    最近更新 更多