Open
Description
When I try to connect to database with a custom database character set I get the following exception:
Value cannot be null.Parameter name: stream
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, CriteriaCtx criteriaCtx, String instanceName, List`1 switchFailedInstNames) at
OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch) at
OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch) at
OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, CriteriaCtx criteriaCtx) at
Oracle.ManagedDataAccess.Client.OracleConnection.Open() at UserQuery at
System.Threading.ThreadHelper.ThreadStart_Context(Object state) at
System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at
System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at
System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at
System.Threading.ThreadHelper.ThreadStart()
ODP.NET version: 19.11.0
When I use unmanaged database provider it works fine.
Output of select * from nls_database_parameters where parameter='NLS_CHARACTERSET'
: GEO8BOGALTWIN
The exception happens because the managed driver tries to deserialize an embedded resource based on the database character set in OracleInternal.I18N.Conv.GetInstance
but it doesn't contain one for the charset that we use.
It would be great if we could use the nlt or nlb files that we have that contain the character set that we use.