My environment:
> Oracle 11g expression edition in Win7 ("DevDB")
> Oracle 11g in non-Windows platform ("ProDB")
> Oracle.ManagedDataAccess.dll (file version is 4.121.1.0, product version is 4.121.1.20131211)
> Instant client sqlplus
If I use sqlplus to connect "DevDB" and "ProDB" with following command, both DBs can be connected successfully.
> sqlplus someUser@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SID=DBSID)))
If I use following codes with Oracle.ManagedDataAccess.dll to connect DBs.
string connectionString = "User Id=someUser;Password=somePwd;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SID=DBSID)))";
OracleConnection con = new OracleConnection(connectionString);
try{
con.Open();
} catch (Exception e) {
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
} finally {
if (con != null)
con.Dispose();
}
It can connect to "DevDB" successfully. However, when I try to connect "ProDB", it throws following exception.
ORA-12537: Network Session: End of file
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
Any tips to fix this problem?
Thanks