When we try to connect a DB using the following settings:
sqlnet.ora
ldap.ora
or in app.config
<oracle.manageddataaccess.client> <version number="*"> <LDAPsettings> <LDAPsetting name="DIRECTORY_SERVER_TYPE" value="AD"/> <LDAPsetting name="DEFAULT_ADMIN_CONTEXT" value="DC=DomainXXXX,DC=local"/> </LDAPsettings> <settings> <setting name="NAMES.DIRECTORY_PATH" value="(LDAP)"/> <setting name="SQLNET.AUTHENTICATION_SERVICES" value="null" /> <setting name="NAMES.LDAP_AUTHENTICATE_BIND" value="True"/> </settings> </version></oracle.manageddataaccess.client>
And for connect we use Managed ODP.Net driver version 4.122.1.0 we get the following error message:
OracleInternal.Network.NetworkException (0xFFFFE570): Network Naming: No LDAP server detected or configured
When we use unmanaged driver all works perfectly.
Documentation says:
When the DIRECTORY_SERVERS parameter is missing or has no value, the default LDAP server for the current domain will be used.
Why we have to add DIRECTORY_SERVERS variable for the Managed driver whereas all works without this variable for unmanaged?
Here is our trace:
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) Machine Name : USER1
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) User Name : User1
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) OS Version : Microsoft Windows NT 6.2.9200.0
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) 64-bit OS : True
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) 64-bit Process : False
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) .NET Runtime Version : 4.0.30319.42000
2017-10-11 10:46:07.806309 TID:1 (CFG) (ENV) Application Directory : E:\APP\bin\Debug
2017-10-11 10:46:07.806309 TID:1 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Version : 4.122.1.0
2017-10-11 10:46:07.806309 TID:1 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Informational Version : 4.122.1.20170524
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) NAMES.DIRECTORY_PATH : (LDAP)
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) TraceFileLocation : .\trace
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) TraceLevel : 7
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) SQLNET.AUTHENTICATION_SERVICES : null
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) NAMES.LDAP_AUTHENTICATE_BIND : True
2017-10-11 10:46:07.806309 TID:1 (CFG) (.NET) Resolved Trace File Location: E:\Temp
2017-10-11 10:46:07.821933 TID:1 (CFG) (SQLNET) FilePath : P:\Management\Settings\sqlnet.ora
2017-10-11 10:46:07.821933 TID:1 (CFG) (TNSNAMES) FilePath : (null)
2017-10-11 10:46:07.821933 TID:1 (PUB) (ENT) OracleConnection.ctor()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.GetCS()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.ctor()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.Parse()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.Parse()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.ctor()
2017-10-11 10:46:07.821933 TID:1 (PRI) (EXT) (CP) ConnectionString.GetCS()
2017-10-11 10:46:07.821933 TID:1 (PUB) (EXT) OracleConnection.ctor()
2017-10-11 10:46:08.197445 TID:1 (PUB) (ENT) OracleConnection.Open() (conid=2863675) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
2017-10-11 10:46:08.199433 TID:1 (PRI) (ENT) (CP) OracleConnectionDispenser`3..cctor()
2017-10-11 10:46:08.199433 TID:1 (PRI) (EXT) (CP) OracleConnectionDispenser`3..cctor()
2017-10-11 10:46:08.199433 TID:1 (PRI) (ENT) (CP) OracleConnectionDispenser`3.Get()
2017-10-11 10:46:08.201443 TID:1 (PRI) (ENT) (CP) PoolManager`3.ctor()
2017-10-11 10:46:08.202445 TID:1 (PRI) (EXT) (CP) PoolManager`3.ctor()
2017-10-11 10:46:08.203444 TID:1 (PRI) (ENT) (CP) PoolManager`3.Initialize() (constr=Data Source=DS5;User Id=USER_YYY;)
2017-10-11 10:46:08.204444 TID:1 (PRI) (ENT) (CP) ConnectionString.Secure()
2017-10-11 10:46:08.205448 TID:1 (PRI) (EXT) (CP) ConnectionString.Secure()
2017-10-11 10:46:08.223271 TID:1 (NET) (SQLNET) ADorOIDdiscovery(): OID discovery is not available
2017-10-11 10:46:08.223271 TID:1 (PRI) (ENT) PoolManager`3.Initialize()
2017-10-11 10:46:08.223271 TID:1 (PRI) (ENT) OracleException.ctor()
2017-10-11 10:46:08.223271 TID:1 (PRI) (ENT) OracleError.ctor()
2017-10-11 10:46:08.223271 TID:1 (PRI) (EXT) OracleError.ctor()
2017-10-11 10:46:08.223271 TID:1 (PRI) (EXT) OracleException.ctor()
2017-10-11 10:46:08.223271 TID:1 (PRI) (ERR) (CP) PoolManager`3.Initialize() (txnid=n/a) OracleInternal.Network.NetworkException (0xFFFFE570): Network Naming: No LDAP server detected or configured
at OracleInternal.Network.LDAP.Resolve(String TNSname, ConnectionOption& CO, String IN)
at OracleInternal.Network.AddressResolution.Resolve(String TNSAlias, ConnectionOption& CO, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.ResolveTnsAlias(ConnectionString cs)
at OracleInternal.ConnectionPool.PoolManager`3.Initialize(ConnectionString cs)
2017-10-11 10:46:08.223271 TID:1 (PRI) (EXT) PoolManager`3.Initialize()
2017-10-11 10:46:08.223271 TID:1 (PRI) (EXT) (CP) PoolManager`3.Initialize() (pmid=30631159) (constr=Data Source=DS5;User Id=USER_YYY;)
2017-10-11 10:46:08.223271 TID:1 (PRI) (ENT) OracleConnectionDispenser`3.Get()
2017-10-11 10:46:08.223271 TID:1 (PRI) (ERR) (CP) OracleConnectionDispenser`3.Get() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Naming: No LDAP server detected or configured ---> OracleInternal.Network.NetworkException (0xFFFFE570): Network Naming: No LDAP server detected or configured
at OracleInternal.Network.LDAP.Resolve(String TNSname, ConnectionOption& CO, String IN)
at OracleInternal.Network.AddressResolution.Resolve(String TNSAlias, ConnectionOption& CO, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.ResolveTnsAlias(ConnectionString cs)
at OracleInternal.ConnectionPool.PoolManager`3.Initialize(ConnectionString cs)
at Oracle.ManagedDataAccess.Client.OracleException.HandleError(OracleTraceLevel level, OracleTraceTag tag, Exception ex, OracleLogicalTransaction oracleLogicalTransaction)
at OracleInternal.ConnectionPool.PoolManager`3.Initialize(ConnectionString cs)
at OracleInternal.ConnectionPool.OraclePoolManager.Initialize(ConnectionString cs)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.GetPM(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, Boolean& bAuthenticated, Boolean& newPM)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, CriteriaCtx criteriaCtx)
2017-10-11 10:46:08.223271 TID:1 (PRI) (EXT) OracleConnectionDispenser`3.Get()
2017-10-11 10:46:08.238870 TID:1 (PRI) (EXT) (CP) OracleConnectionDispenser`3.Get() (txnid=n/a)
2017-10-11 10:46:08.238870 TID:1 (PRI) (ENT) OracleConnection.Open()
2017-10-11 10:46:08.238870 TID:1 (PUB) (ERR) OracleConnection.Open() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Naming: No LDAP server detected or configured ---> OracleInternal.Network.NetworkException (0xFFFFE570): Network Naming: No LDAP server detected or configured
at OracleInternal.Network.LDAP.Resolve(String TNSname, ConnectionOption& CO, String IN)
at OracleInternal.Network.AddressResolution.Resolve(String TNSAlias, ConnectionOption& CO, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.ResolveTnsAlias(ConnectionString cs)
at OracleInternal.ConnectionPool.PoolManager`3.Initialize(ConnectionString cs)
at Oracle.ManagedDataAccess.Client.OracleException.HandleError(OracleTraceLevel level, OracleTraceTag tag, Exception ex, OracleLogicalTransaction oracleLogicalTransaction)
at OracleInternal.ConnectionPool.PoolManager`3.Initialize(ConnectionString cs)
at OracleInternal.ConnectionPool.OraclePoolManager.Initialize(ConnectionString cs)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.GetPM(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, Boolean& bAuthenticated, Boolean& newPM)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, CriteriaCtx criteriaCtx)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
2017-10-11 10:46:08.238870 TID:1 (PRI) (EXT) OracleConnection.Open()
2017-10-11 10:46:08.243893 TID:1 (PUB) (EXT) OracleConnection.Open() (conid=2863675) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)