MicrosoftOracleクライアントを使用しているようです。信頼性がはるかに高いため、ODP.netドライバーを使用することをお勧めします。 (Microsoftクライアントも非推奨になっていると思いますか?)
http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
ODP.netドライバをインストールし、プロジェクトにOracle.DataAccessへの参照を追加すれば、準備は完了です。サンプルコード(以前の投稿から):
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.");
}
}
}
}
編集:以前に「Oracleクライアントソフトウェアバージョン8.1.7以降が必要」というエラーも発生しました。 OracleClientをコンピュータにインストールしたことが原因です。 Microsoftドライバを使用するように設定されている場合は、コンピュータからOracleクライアントを(皮肉なことに)アンインストールしてみてください。