I was having some trouble with an java application connecting to a oracle 9i database. The problem was that the application sometimes gave the following error:
ORA-01017: invalid username/password; logon denied
The developer of the application could not find the cause of this error so i started some testing myself. I wrote a simple .net console app to test the connection. It gave the same problems: Sometimes a connection success and sometimes logon denied.
OracleConnection conn = null;
            try
            {
                conn = new OracleConnection(
                "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.com)(PORT=1521))(CONNECT_DATA=(SID=MySID)));User Id=MyUserId;Password=MyPassword;");
                conn.Open();
                Console.WriteLine(DateTime.Now + ": Connection Success! Version: " + conn.ServerVersion);
            }
            catch (OracleException ex)
            {
                Console.WriteLine(DateTime.Now + ": Oracle Error: " + ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(DateTime.Now + ": Other Error: " + ex.Message);
            }
            finally
            {
                if (conn != null)
                    conn.Dispose();
            }
            Console.ReadKey();
After some playing around with the connectionstring i found out that the following string did not give any problems:
"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyServer.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=MySid)));User Id=MyUserId;Password=MyPassword;"
I changed SID= to SERVICE_NAME= and this solved the problems.
 
			
Great tip even after nearly 5 years. I have also this problem with Oracle 11g and DotConnect from Devart.
Unfortunately the ORA-01017 stil occur but much less than before. So I have to experiment further.