Sembra che tu stia utilizzando il client Microsoft Oracle. Ti suggerisco di utilizzare il driver ODP.net in quanto è molto più affidabile. (Credo che anche il client Microsoft sia deprecato?)
http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
Installa il driver ODP.net, aggiungi un riferimento a Oracle.DataAccess nel tuo progetto e sei a posto! Codice di esempio (dal mio post precedente):
using System;
using System.Data;
using Oracle.DataAccess.Client;
static class Program
{
[STAThread]
static void Main()
{
TestOracle();
}
private static void TestOracle()
{
string connString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST=servername)(PORT=1521)))" +
"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));"+
"User Id=username;Password=********;";
using (OracleConnection conn = new OracleConnection(connString))
{
string sqlSelect = "SELECT * FROM TEST_TABLE";
using (OracleDataAdapter da = new OracleDataAdapter(sqlSelect, conn))
{
var table = new DataTable();
da.Fill(table);
if (table.Rows.Count > 1)
Console.WriteLine("Successfully read oracle.");
}
}
}
}
EDIT:in precedenza ho riscontrato anche l'errore "richiede software client Oracle versione 8.1.7 o successiva". Sono stato causato dall'installazione di Oracle Client sul mio computer. Puoi provare a disinstallare Oracle Client (ironicamente) dal tuo computer se hai impostato l'utilizzo del driver Microsoft.