0

出于某种原因,当我尝试使用 LDAP 连接到 Oracle 时,我必须在我的 .NET 项目中包含一个 LDAP.ORA 文件。根据我对使用Oracle.ManagedDataAccess nuget 包的理解,我应该能够包含 web.config 中的所有内容。 Oracle 的文档位于此处,此处提供了有用的演练。我猜我的一个配置属性有点偏离,但我无法追踪它。任何帮助将非常感激!

Oracle 配置部分

  <oracle.manageddataaccess.client>
    <version number="*">
      <LDAPsettings>
        <LDAPsetting name="DIRECTORY_TYPE" value="OID" />
        <LDAPsetting name="DEFAULT_ADMIN_CONTENT" value="dc=mycompany,dc=net"/>
        <LDAPsetting name="DIRECTORY_SERVERS" value="(myoid.mycompany.net:1389:1636)" />
      </LDAPsettings>
      <settings>
        <setting name="NAMES.DIRECTORY_PATH" value="(LDAP)"/>
        <setting name="NAMES.DEFAULT_DOMAIN" value="mycompany"/>
      </settings>
    </version>
  </oracle.manageddataaccess.client>

Oracle 连接字符串

<add name="MyDatabase" providerName="Oracle.ManagedDataAccess.Client" connectionString="Data Source=MyDatabase; User Id=MyUser; Password=MyPassword;" />

连接代码

private DbConnection GetConnection()
{
    var connectionStringSettings = ConfigurationManager.ConnectionStrings["MyDatabase"];
    var connection = new OracleConnection(connectionStringSettings.ConnectionString);
    connection.Open();
    return connection;
}
4

1 回答 1

0

我认为

<LDAPsetting name="DIRECTORY_TYPE" value="OID" />
<LDAPsetting name="DEFAULT_ADMIN_CONTENT" value="dc=mycompany,dc=net"/>

必须替换为

<LDAPsetting name="DIRECTORY_SERVER_TYPE" value="OID" />
<LDAPsetting name="DEFAULT_ADMIN_CONTEXT" value="dc=mycompany,dc=net"/>

我不确定,但我假设您的默认上下文是dc=mycompany,dc=net,那么您NAMES.DEFAULT_DOMAIN必须是mycompany.net

于 2016-03-23T14:35:20.367 回答