出于某种原因,在尝试使用LDAP连接到Oracle时,我必须在.NET项目中包含LDAP.ORA文件。根据我对使用Oracle.ManagagedDataAccess nuget包的理解,我应该能够包含web.config中的所有内容。 Documentation from Oracle is located here和有用的walk through is provided here。我猜我的一个配置属性略有偏差,但我还没有能够追踪它。任何帮助将非常感激!
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;
}
答案 0 :(得分: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
。