Eu realmente recomendo que você use o ODP.net da Oracle. Ele funciona de forma muito eficiente entre Oracle e .NET e pode aproveitar muitos dos recursos de baixo nível (como inserções/atualizações em massa) disponíveis por meio da Oracle Call Interface (OCI).
A partir daí, o ODP.net tem um
OracleConnectionStringBuilder
classe que desmistifica as dificuldades de string de conexão que você tem com a maioria dos bancos de dados:OracleConnectionStringBuilder sb = new OracleConnectionStringBuilder();
sb.DataSource = "<your datasource>";
sb.UserID = "library";
sb.Password = "library";
OracleConnection conn = new OracleConnection(sb.ToString());
conn.Open();
Se seu banco de dados for remoto, o EZ Connect da Oracle facilita não ter que se preocupar com nomes TNS:
sb.DataSource = "hostname.whatever.com:1521/ServiceName";